【发布时间】:2021-12-04 13:03:20
【问题描述】:
我将 AgGrid 用于 React,并且我正在使用类风格的反应组件 - 不是功能组件。
我的目标是根据道具条件渲染cellStyle。
但是,当我想渲染它时,它甚至没有加载道具。
我该如何解决这个问题?
【问题讨论】:
-
你能把你的代码放在这里吗?
标签: javascript reactjs ag-grid
我将 AgGrid 用于 React,并且我正在使用类风格的反应组件 - 不是功能组件。
我的目标是根据道具条件渲染cellStyle。
但是,当我想渲染它时,它甚至没有加载道具。
我该如何解决这个问题?
【问题讨论】:
标签: javascript reactjs ag-grid
您可能希望在更新列的cellStyle 后调用GridApi.refreshCells() 以应用更改:
const columnDefs = React.useMemo(
() => [
{...}
{
headerName: "Age",
field: "age",
cellStyle: props.styles
? { backgroundColor: "pink" }
: { backgroundColor: "white" }
}
],
[props.styles]
);
React.useEffect(() => {
gridApi?.refreshCells({ force: true });
}, [props.styles]);
【讨论】:
componentDidUpdate 检查您的道具是否更改,如果新旧道具不同,请致电GridApi.refreshCells()。你需要一个例子吗?