#typescript #ng2-smart-table
#typescript #ng2-smart-table
Вопрос:
У меня есть функция, которая создает случайные значения, но я хочу знать, как добавить эту функцию, когда я создаю новую запись в ng2-smart-table. Я создаю пользователей, и мне нужно присвоить им случайный идентификатор.
Это мой случайный идентификационный код:
stringGen(len) {
var text = "";
var charset = "abcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < len; i )
text = charset.charAt(Math.floor(Math.random() * charset.length));
return text;
}
randomID = this.stringGen(8);
это мой html:
list-user.component.html
<ng2-smart-table
[settings]="settings"
[source]="roles">
</ng2-smart-table>
это мой ts:
список-user.component.ts
settings = {
columns: {
role_id : {
title: 'Role ID',
},
role_desc : {
title: 'Role Description',
editor: {
type: 'textarea',
}
}
}
}
Ответ №1:
Вы можете использовать createConfirm
событие для запуска кода при создании новой записи в ng2-smart-table
.
Ваш шаблон будет выглядеть следующим образом:
<ng2-smart-table [settings]="tableSettings" [source]="tableSource" (createConfirm)="onCreateConfirm($event)"></ng2-smart-table>
И в вашем компоненте:
onCreateConfirm($event: any) {
// `$event.newData` carries information the user wants to add to the table.
}
Вы можете создать запись с идентификатором, сгенерированным вашей stringGen()
функцией, добавить ее в источник таблицы и снова загрузить источник, чтобы получить новую запись в таблице со случайно сгенерированным идентификатором.