В типичной манере АГ они скрывают эту важную информацию в своих документах:
Метод 3 - Дельта-строка данных Дельта-метод использует данные строки
метод выше, но со свойством deltaRowDataMode = true.
Когда deltaRowDataMode включен, сетка будет сравнивать новые данные строки
с текущими данными строки и создайте объект транзакции для вас.
Затем grid выполняет изменение как транзакцию обновления, сохраняя все
выборки сеток, фильтры и т. д.
Используйте это, если вы хотите управлять данными за пределами сетки (например, в
Redux store), а затем пусть решает, какие изменения необходимы для
обновлять версию данных в сетке.
https://www.ag -grid.com / JavaScript-сетки данных обновление / # насыпной-обновление
По моему мнению, это должна быть настройка, которую вы всегда используете, если ваши строки имеют уникальный идентификатор (я надеюсь, что они есть, это хорошая практика). Установите deltaRowDataMode
в true и используйте getRowNodeId
, чтобы указать уникальный идентификатор для строки.
После этого ваша сетка будет обновляться намного эффективнее (только обновляя то, что нужно), и она не будет переходить наверх, когда это происходит, поскольку не воссоздает каждую строку и ячейку в сетке при обновлении.
Для правильной меры вы также можете добавить опцию suppressScrollOnNewData
, хотя я не уверен, нужна ли она вам, если вы сделаете выше.