【问题标题】:ag-grid (react) change rowStyle dynamically based on stateag-grid (react) 根据状态动态更改 rowStyle
【发布时间】:2026-02-09 09:10:01
【问题描述】:

我需要根据“状态”改变几行的rowStyle

const [highlightRowData, setHighlightRowData] = useState(0);

可以说这会被网格外的一些用户操作动态改变。

这是我对 rowStyle 的实现:

const rowStyle = (params) => {
    if (params.data.someData === highlightRowData) {
      return { background: "red" };
    }
    return { background: "yellow" };
};

但这种状态变化不会反映在 rowStyle 中。

【问题讨论】:

标签: reactjs ag-grid


【解决方案1】:

不确定您是否已经找到答案,但就像评论中提到的 Pavan 一样 - 您可以查看此链接 https://www.ag-grid.com/javascript-grid-refresh/#redraw-rows 中的 ag-grid 文档中描述的 gridApi.redrawRows() 函数。

为了实现您的目标,您需要在设置 highlightRowData 状态后调用此函数。当您使用钩子时,它可能看起来像这样:

  useEffect(() => {
    // assume you have a gridApi reference here. If not yet, maybe you can hold it in a ref by useRef
    gridApi.redrawRows();
  }, [highlightRowData]);

【讨论】: