ag-grid 将 cellRendererParams 设置为行数据中的值
Posted
技术标签:
【中文标题】ag-grid 将 cellRendererParams 设置为行数据中的值【英文标题】:ag-grid set cellRendererParams to values from the row data 【发布时间】:2021-03-13 18:44:26 【问题描述】:我想通过 cellRendererParams 对象将数据发送到我的 cellRenderer 组件,但我不知道如何为此访问行数据。这是我想做的一个例子:
cellRendererParams:
label: currentRowData.myField + currentRowData.myOtherField
我不希望我的 cellRenderer 组件了解网格的数据结构,因为我可能会在具有不同行数据的其他网格中使用它。
【问题讨论】:
【参考方案1】:有很多方法:
1)
valueGetter: (params) => ( property1: params.data.myField1 + params.data.myField2, property2: params.data.someOtherField ),
valueFormatter: ( property1: params.data.myField1 + params.data.myField2, property2: params.data.someOtherField ),
【讨论】:
是的,我使用了 #1,因为它来自 params 对象的 value 属性。【参考方案2】:尝试使用valueGetter,如下所示:
valueGetter: (params) => params.data.myField + params.data.myOtherField
【讨论】:
我想我的例子有点简单,因为它只显示了 cellRendererParams 对象中的一项。您的建议仅适用于传递给 cellRenderer 组件的 params 对象的value
属性。如果我想通过多个项目,例如 label: 'something', someBoolean: data.myBooleanField , someValue: dataRow.oneValue * dataRow.otherValue
,那么您的解决方案不起作用,但我非常感谢您的解决方案,因为它确实完成了简单的案例。
因此,我将您的解决方案更进一步,并且能够使其发挥作用。而不是 valueGetter
只返回一个值,我让它返回一个对象,例如valueGetter: (params) => ( property1: params.data.myField1 + params.data.myField2, property2: params.data.someOtherField )
。如果您更新对此的答案,我会将其标记为已接受的答案。以上是关于ag-grid 将 cellRendererParams 设置为行数据中的值的主要内容,如果未能解决你的问题,请参考以下文章