ag-grid (реагировать) динамически изменять rowStyle в зависимости от состояния - PullRequest
0 голосов
/ 28 мая 2020

Мне нужно изменить rowStyle нескольких строк на основе «состояния»

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

скажем, это динамически изменяется некоторыми действие пользователя за пределами сетки.

это моя реализация rowStyle:

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

, но это изменение состояния не отражается в rowStyle.

1 Ответ

0 голосов
/ 29 мая 2020

Не уверен, что вы уже нашли ответ, но, как Паван, упомянутый в комментарии - вы можете проверить функцию gridApi.redrawRows (), описанную в ag-grid do c по этой ссылке https://www.ag-grid.com/javascript-grid-refresh/#redraw - rows .

Чтобы достичь здесь своей цели, вам необходимо вызвать эту функцию после того, как вы установили состояние 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]);
...