我正在使用 ag-grid 社区版本进行开发。我遇到了 valuegetter 来动态渲染单元格数据。
但它没有反射(reflect)在行数据变量中。
下面是我的专栏定义
columnDefs = [
{ headerName: 'Student Name', field: 'name' },
{ headerName: 'English', field: 'english' },
{ headerName: 'Maths', field: 'maths' },
{ headerName: 'Science', field: 'science' },
{
headerName: 'Total',
field: 'total',
valueGetter: params => {
let totalValue = 0;
totalValue =
parseInt(params.data.english) +
parseInt(params.data.maths) +
parseInt(params.data.science);
return totalValue;
}
}
];
下面是我的行数据
rowData: StudentData[] = [
{ name: 'Rajesh', english: '10', maths: '21', science: '0', total: null }
];
我正在即时计算总数。
但是当我尝试访问行数据中的总计时 它没有反射(reflect)
onSave(): void {
console.log(this.rowData[0].total);
}
控制台打印 null 而不是 31
下面是我的 StackBlitz URL。请帮助我获取行数据模型中的值 getter 值
https://stackblitz.com/edit/angular-ivy-vkppt6?file=src%2Fapp%2Fapp.component.ts
最佳答案
您只是获取(呈现)已处理的数据。
您必须将数据分配给相应列的字段/属性。
因此,在 ValueGetter
中添加:
params.data.total=totalValue;
<强> Working demo
关于angular - valueGetter 没有反射(reflect)在 rowdata ag-grid 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68729130/