我正在使用AgGridReact,但这是一个关于如何使用AgGrid在该行的单元格中获取整个行的数据的一般问题。
我正在为某个单元格(其字段为id)使用自定义单元格呈现器,在该单元格中,我需要获取整个行的数据,而不仅仅是id字段的数据。
网格是这样定义的:
<AgGridReact
rowData={users}
frameworkComponents={{
idRenderer: IdRenderer,
}}
>
<AgGridColumn field="id" cellRenderer="idRenderer"></AgGridColumn>
<AgGridColumn field="name"></AgGridColumn>
<AgGridColumn field="phone"></AgGridColumn>
<AgGridColumn field="email"></AgGridColumn>
</AgGridReact>下面是IdRender组件(用于自定义id字段的单元格的外观),在这里我需要获取行的数据:
import { useEffect } from 'react';
function IdRenderer(props) {
// the following currently stores the cell's value in `rowData`
const rowData = props.valueFormatted ? props.valueFormatted : props.value;
useEffect(() => {
console.log(rowData); // get the entire row's data here instead of just this cell's value
}, [])
return (
<>
{/* some components */}
</>
);
}
export default IdRenderer;我无法从文档中找出应该添加到网格或单元格呈现程序中的内容,以便能够在id字段的单元格中获取整个行的数据(在这里,我将按一下按钮将数据发送到API )。
发布于 2021-07-13 15:02:27
在深入研究了很长一段时间之后,我终于找到了实现这个目标的方法:使用 valueGetter。我决定发这个问答,以帮助其他人弄清楚如何实现同样的目标。
只需为该行的数据定义以下值getter:
const rowDataGetter = function (params) {
return params.data;
};并通过设置AgGridColumn支柱在valueGetter上使用它:
<AgGridColumn field="id" cellRenderer="idRenderer" valueGetter={rowDataGetter}></AgGridColumn>现在,rowData在IdRenderer中将包含整个行的数据,而不是单元格值。
https://stackoverflow.com/questions/68364914
复制相似问题