response-virtualized: получите границы прокручиваемого контейнера для реализации сворачиваемых элементов - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь реализовать таблицу с бесконечной загрузкой (разбиение по страницам) и сворачиваемыми элементами (группами).

Для этого в настоящее время я вычисляю индекс страницы, которая должна быть загружена после свертывания группы, следующим образом:

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 для поиска индекса последнего видимого элемента. Но это свойство не задокументировано и является частным, поэтому, вероятно, должен быть лучший способ сделать это.

Можно ли каким-то образом получить индекс последнего видимого индекса, не обращаясь к частным реквизитам ??

Спасибо заранее

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