PositionManager
Внутреннее дерево отрезков, предоставленное для продвинутых сценариев использования. Хранит высоты строк и отвечает на запросы префиксных сумм за O(log n).
ts
import { PositionManager } from 'vue-virtual-scroller-kit'
const manager = new PositionManager(
10_000, // число элементов
50, // единая оценочная высота (либо функция (index) => number)
)Используйте PositionManager при построении полностью кастомных виртуализированных раскладок, не подходящих под предоставленные компоненты.
Методы
totalSize
Общая высота всех элементов.
getOffset(index)
Пиксельное смещение элемента i = сумма heights [0..i-1].
getHeight(index)
Сохранённая высота элемента i.
findIndex(scrollTop)
Индекс первого элемента, видимого при scrollTop.
set(index, height)
Обновить измеренную высоту, O(log n).
ts
manager.totalSize // общая высота всех элементов
manager.getOffset(index) // пиксельное смещение элемента i = сумма heights[0..i-1]
manager.getHeight(index) // сохранённая высота элемента i
manager.findIndex(scrollTop) // индекс первого элемента, видимого при scrollTop
manager.set(index, height) // обновить измеренную высоту, O(log n)