我正在尝试获取单元格渲染器中的列字段值。我可以通过 agInit 连接方法中的
params.data.code
来做到这一点,但这会使单元格渲染器不可重用于其他组件,因为字段“代码”不是通用的。
在文档中它说它将使用 valueGetter(with or wout valueFormatter)而不是字段,如果提供的话;但在渲染器中
params.value
它总是未定义的。
列定义尝试:
{
headerName: "test",
field: 'code',
cellRenderer: CustomCellRendererComponent,
cellRendererParams: {
title: "title-for-custom-component",
parent: this,
}
}
{
headerName: "test",
field: 'code',
cellRenderer: CustomCellRendererComponent,
cellRendererParams: {
title: "title-for-custom-component",
parent: this,
},
valueGetter: (params) => return params.data.code,
}
{
headerName: "test",
field: 'code',
cellRenderer: CustomCellRendererComponent,
cellRendererParams: {
title: "title-for-custom-component",
parent: this,
value: (params) => {params.data.code}
},
}
单元格渲染器:
export class CustomCellRendererComponent implements ICellRendererAngularComp {
refresh(params: ICellRendererParams): boolean {
return false;
}
agInit(params: ICellRendererParams): void {
this.params = params;
//1st try will print undefined
//2nd try will print undefined
//3rd try will print (params) => { params.data.code; }
console.log("valuegetter:"+this.params.value)
//this one works, but here I'm accessing the 'code' field from the row, so it's not reusable
console.log("valuegetter:"+this.params.data.code)
//I am able to access title and parent params as well
}
}
是否可以在不从渲染器访问行数据的情况下获取字段值?或者我必须通过 params.data 来实现吗?