Я пытаюсь реализовать таблицу с бесконечной загрузкой (разбиение по страницам) и сворачиваемыми элементами (группами).
Для этого в настоящее время я вычисляю индекс страницы, которая должна быть загружена после свертывания группы, следующим образом:
const toggleGroup =
(el, id, rowIndex) => {
const rowsTillBottom = Math.floor(
(tableRef.current._scrollingContainer.getBoundingClientRect()
.bottom -
el.getBoundingClientRect().bottom) /
TableConstants.ROW_HEIGHT,
);
const newState = {
...collapsedState,
[id]: !collapsedState[id],
};
setCollapsedState(newState);
const pages = findPages(
rows,
Math.min(rowIndex + rowsTillBottom, rows.length - 1),
newState,
); // get pages' indexes needed to be loaded based on last visible rowIndex
onPagesRendered(pages);
};
Как видите, мне нужен предел scrollingContainer для поиска индекса последнего видимого элемента. Но это свойство не задокументировано и является частным, поэтому, вероятно, должен быть лучший способ сделать это.
Можно ли каким-то образом получить индекс последнего видимого индекса, не обращаясь к частным реквизитам ??
Спасибо заранее