Реагировать и ag-grid - как обновить функцию `getRowClass`? - PullRequest
1 голос
/ 01 мая 2020

Вот StackBlitz, который демонстрирует проблему / вопрос: https://stackblitz.com/edit/react-s9l2kj

(по сути, это измененная версия Пример правил класса строк код из веб-сайт ag-grid)

У меня есть функция getRowClass, которую необходимо обновить при изменении свойства, переданного моему компоненту. В приведенном примере кода это передается компоненту Grid (здесь урезанная версия):

const Grid = (props) => {
  const getRowClass = (params) => {
    var numSickDays = params.data.sickDays;

    if (numSickDays > props.minDays && numSickDays <= props.maxDays) {
      return 'sick-days-warning';
    };

    return '';
  };

  return (
    <>
      <AgGridReact
        rowData={data}
        columnDefs={columnDefs}
        getRowClass={getRowClass}
      />

      <label>Show warning when: {props.minDays} &lt; sick days &lt;= {props.maxDays}</label>
    </>
  );
}

В примере StackBlitz обновление значения в текстовом поле Min days правильно вызывает метка для повторного рендеринга, показывающая, что новое свойство правильно передается в сетку.

Вопрос

Почему функция getRowClass не обновляется? Мне кажется, что AgGridReact кэширует первое значение для getRowClass, которое передается ему, а не обновляет его, когда создается новая функция getRowClass, так что это похоже на ошибку ... однако, Возможно, я неправильно понимаю, как мне обновлять функцию getRowClass.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...