【问题标题】:Delete button ag-grid angular2删除按钮 ag-grid angular2
【发布时间】:2018-10-10 17:32:02
【问题描述】:

我正在尝试为 ag-grid 表中的元素列表添加删除按钮。

我为按钮创建了一个组件,我可以删除该行

...

export class AgGridButtonDeleteComponent implements ICellRendererAngularComp

...

deleteFunc(){
    this.params.api.selectIndex(this.params.node.rowIndex);
    var selectedData = this.params.api.getSelectedRows();
    this.params.api.updateRowData({remove: selectedData});

...

但我还需要调用服务来实际删除数据 所以我尝试将服务包含在按钮组件中

this.myService.deleteRow(this.value).subscribe(
response => {
    if(response){
        this.params.api.selectIndex(this.params.node.rowIndex);
        var selectedData = this.params.api.getSelectedRows();
        this.params.api.updateRowData({remove: selectedData}); 
    }
}

);

但我收到此错误: 属性“deleteButtonRenderer”与索引签名不兼容。 “typeof AgGridButtonDeleteComponent”类型与“new () => any”类型不可比。

关于我该怎么做的任何建议? 我正在使用 ag-grid 16.0.0 和 angular 6,我发现的所有示例都是针对 angular 1

谢谢

【问题讨论】:

    标签: angular ag-grid ag-grid-ng2 angular6


    【解决方案1】:

    一个可能的解决方案是:

    在列中添加定义

    onCellClicked: function (params) {
     this.deleteRow(params.data.Id)
     params.api.selectIndex(params.node.rowIndex);
     var selectedData = params.api.getSelectedRows();
     params.api.updateRowData({remove: selectedData}); 
    }.bind(this)
    

    记得绑定(this)否则deleteRow函数不可见

    【讨论】:

      猜你喜欢
      • 2018-01-23
      • 2020-10-19
      • 1970-01-01
      • 2017-05-20
      • 1970-01-01
      • 2018-08-30
      • 1970-01-01
      • 2015-12-15
      • 1970-01-01
      相关资源
      最近更新 更多