我正在使用带有ag-grid数据表的Angular 5
我无法使用cellRenderer从单元格触发点击事件,这里如何使用我的ag-grid-> colDefs
this.columnDefs = [
{headerName: '#', rowDrag: true, width: 75},
{headerName: 'One', field: 'fieldName',
cellRenderer : function(params){
return '<div><button (click)="drop()">Click</button></div>'
}
}
];
drop() {
alert("BUTTON CLICKEFD")
}
如果正在使用
onClick="alert("123")"
->可以,但是我无法使用
onClick="drop()"
,它会抛出未定义的信息,我也在cellRenderer内部尝试过-> params =
params.$scope.drop = this.drop;
如果将GridOptions与
angularCompileRows : true
一起使用,则会引发错误Cannot read property '$apply' of undefined.
我需要安装ag-grid enterprise
吗? 最佳答案
您可以将cellRenderer
与按钮组件一起使用。
如果要从表中的用户获取按钮上的click事件,只需将要声明的回调函数声明为cellRendererParams
。
// app.component.ts
columnDefs = [
{
headerName: 'Button Col 1',
cellRenderer: 'buttonRenderer',
cellRendererParams: {
onClick: this.onBtnClick.bind(this),
label: 'Click'
}
},
...
]
上面的代码只是一小部分,请查看Stackblitz上的完整示例