我试图为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'与索引签名不兼容。 输入'类型的AgGridButtonDeleteComponent'不能与类型' new()=>相比任何'
关于我该怎么做的任何建议? 我使用的是ag-grid 16.0.0和angular 6,我发现的所有例子都是针对角度1
谢谢
答案 0 :(得分: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函数不可见