我使用这个插件在angualar 2中创建一个智能表:
我需要自定义表格。
ie)只有当用户点击“创建”链接时,才应该触发该事件,他们的文档说明了这一点:
'create'事件:单击“创建”按钮后触发。仅在表格模式=外部时触发。
需要知道如何设置外部模式,因为我无法在他们的文档中找到任何地方。
截至目前我正在使用:
<ng2-smart-table [settings]="settings" [source]="source" (userRowSelect)="onUserRowSelect($event)" class="table table-hover table-striped"></ng2-smart-table>
onUserRowSelect(event): void {
//But this event triggers whenever(wherever in the table) user clicks, which is dont want !
}
需要建议!
答案 0 :(得分:3)
1)设置ng2-smarttable的设置对象,如下所示
settings = {
mode: 'external',
add: {
addButtonContent: '<i class="ion-ios-plus-outline"></i>',
createButtonContent: '<i class="ion-checkmark"></i>',
cancelButtonContent: '<i class="ion-close"></i>',
},
edit: {
editButtonContent: '<i class="ion-edit"></i>',
saveButtonContent: '<i class="ion-checkmark"></i>',
cancelButtonContent: '<i class="ion-close"></i>',
},
delete: {
deleteButtonContent: '<i class="ion-trash-a"></i>',
confirmDelete: true
},
columns: {
id: {
title: 'ID',
type: 'number'
},
name: {
title: 'Name',
type: 'string'
},
lastName: {
title: 'Last Name',
type: 'string'
},
username: {
title: 'Username',
type: 'string'
},
email: {
title: 'E-mail',
type: 'string'
},
age: {
title: 'Age',
type: 'number'
}
}
};
2)在html页面中定义设置和来源
<ng2-smart-table [settings]="settings" [source]="source" (create)="openCreateDialog($event)"></ng2-smart-table>
您可以在创建按钮单击时执行任何操作。 在ts文件中定义openCreateDialog函数,如下所示
openCreateDialog(event) {
//logic
}
答案 1 :(得分:0)
我通过使用他们的(createConfirm)事件来实现,如:
<ng2-smart-table [settings]="view_update_items_settings" [source]="source" (createConfirm)="onCreateConfirm($event)" class="table table-hover table-striped"></ng2-smart-table>
在.ts文件中:
onCreateConfirm(event) {
...
}