在Angular 8中使用param函数动态更改ag网格的单元渲染器

在Angular 8中使用param函数动态更改ag网格的单元渲染器,angular,ag-grid,ag-grid-angular,Angular,Ag Grid,Ag Grid Angular,有人能帮我解决这个问题吗? 我在Angular 8中使用ag Grid,其中我有一个列,其中单元格渲染器作为单个按钮(比如Delete button),但是当网格触发cellValueChange事件时,即当特定单元格值更改时,我希望Delete button单元格渲染器被其他单元格渲染器替换 这就是我要做的 columnDefs:{ 标题名称:“删除” cellRenderer:(参数:IcellRenderParams)=>{ 返回getCellRenderer(参数); } } getCe

有人能帮我解决这个问题吗? 我在Angular 8中使用ag Grid,其中我有一个列,其中单元格渲染器作为单个按钮(比如Delete button),但是当网格触发cellValueChange事件时,即当特定单元格值更改时,我希望Delete button单元格渲染器被其他单元格渲染器替换

这就是我要做的

columnDefs:{
标题名称:“删除”
cellRenderer:(参数:IcellRenderParams)=>{
返回getCellRenderer(参数);
}
}
getCellRenderer(参数)
{
if(params.value.isEdit)
返回'updateRenderer';
其他的
返回'deleteRenderer';
}
isEdit
是网格中的隐藏列,其值在事件调用时设置为1,否则默认情况下,所有行的值都为0

因此,此函数应返回渲染器。我创建了frameworkComponent,如下所示:

框架组件:{
deleteRenderer:DeleteRenderComponent,
updateRenderer:UpdateRendererComponent
} 
现在,当我提供cellRenderer:“deleteRenderer”时,我得到了一个正确的组件渲染。 但当我通过函数调用它时,我只将字符串打印为deleteRenderer,而不是组件


提前感谢,我们将非常感谢您的帮助。

我建议您将两个单元格渲染器合并为一个,并根据可以作为
单元格渲染器
参数传递的字段值来决定操作

像这样的-

cellRenderer: 'commonRenderer'
cellRendererParams: {
  editable : "isEdit" // pass the field value here
}
在单元渲染器组件中,您可以访问agInit中的此可编辑参数,如下所示-

agInit(params: any) : void {
    params.editable // here
}
现在,您可以根据传递的参数值分支更新/删除逻辑


Cell renderer组件

谢谢,我从这个组件中获得了要遵循的路径,但必须围绕它实现更多的东西。