Как добавить функцию случайного значения в ng2-smart-table

#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() функцией, добавить ее в источник таблицы и снова загрузить источник, чтобы получить новую запись в таблице со случайно сгенерированным идентификатором.