1 - Я хочу выбрать несколько строк и вызвать одну функцию, поэтому, где мне нужно написать этот код в ng2-smart-table?
Ответ:
Для выбора нескольких строк в ng2-smart-table
необходимо добавить конфигурацию в settings
объект.
Пример:
settings = {
// This `selectMode` is the configuration for selecting multiple rows in the table using checkbox
selectMode: 'multi',
delete: {
confirmDelete: true,
deleteButtonContent: 'Delete data',
saveButtonContent: 'save',
cancelButtonContent: 'cancel'
},
add: {
confirmCreate: true,
},
edit: {
confirmSave: true,
},
columns: {
// columns configuration
},
};
2- Можно ли выбрать несколько строк и вызвать одну функцию в выбранных строках?
ng2-smart-table
есть событие для получения userSelectedRows
, мы можем использовать это событие, чтобы получить все выбранные строки, а затем вызвать функцию, чтобы сделать что-то со всеми выбранными строками.
Пример:
- Шаг 1: добавить обработчик событий в шаблон
<ng2-smart-table [settings]="settings" allowFiltering='true' allowPaging='true' [source]="windchillData" (deleteConfirm)="onDeleteConfirm($event)" (custom)="onCustomAction($event)" (edit)="onEdit($event)" (userRowSelect)="onUserRowSelect($event)"></ng2-smart-table>
- Шаг 2: Создать обработчик событий в
component.ts
, чтобы получить выбранные строки
onUserRowSelect(event) {
this.selectedRows = event.selected;
}
- Шаг 3: Создать кнопку и вызвать функцию, чтобы сделать что-то с выбранными строками
Кнопка в html
<button (click)="onClick()"> Get Selected </button>
Обработчик кликов в component.ts
onClick() {
// It will console all the selected rows
console.log(this.selectedRows);
}
Здесь вы можете увидеть это в работе: https://stackblitz.com/edit/example-ng2-smart-table-18qsws