2

当用户单击编辑和新建按钮时,我想在组件上打开一个弹出页面ng2-smart-table,但我无法捕获这些事件。
例如我无法捕捉到这个onEditRowSelect($event)功能,你知道吗?
简而言之,我想删除表格内的编辑输入字段并打开一个弹出页面

<ng2-smart-table 
  [settings]="settings" 
  [source]="data"                
  (editConfirm)="onEditRowSelect($event)">
</ng2-smart-table>

这是我的ng2-smart-table设置

this.settings = {

  columns: {
  },
  actions: {
    position: 'right',
    add: true,
    edit:true,
    editable:false,
    columnTitle: '',
  },
  add: {
    addButtonContent: 'NEW',                        
  },
  edit: {
    editButtonContent: 'EDIT',                        
    position: 'right',
  }      
}    

onEditRowSelect(event) {
  console.log(event.data.nombre);             
}
4

2 回答 2

5

首先需要在ts文件的setting中更改“mode”选项

settings = {mode: 'external'}

现在将 html 添加到此代码中

<ng2-smart-table [settings]="settings" [source]="data" (edit)="onEditRowSelect($event)"></ng2-smart-table>

现在在 ts 文件中创建该函数 onEditRowSelect(event) 你会在那里找到所有内容

onEditRowSelect(event) { console.log(event); }

如果要打开模态框,请先创建一个组件,然后将数据传递到该模态框。如果您不知道如何创建模态框,请点击此链接材料对话框

于 2019-03-06T04:39:46.703 回答
2

我有同样的问题。我通过在 this.settings 中添加此代码来解决。

edit: {
   confirmSave : true
}
于 2018-08-16T05:51:33.493 回答