UNPKG

@z-cloud/virtual-vanilla

Version:

提供跨平台(浏览器,小程序)的虚拟列表公共基类

52 lines 1.84 kB
import { ScrollAlignment, BasicVirtualizerOptions, VirtualItem, Rect } from './typings'; /** * 虚拟列表基类 */ export declare class BasicVirtualizer<TOptions = Record<string, any>> { options: TOptions & Required<BasicVirtualizerOptions>; items: VirtualItem[]; scrollElementRect?: Rect; scrollOffset?: number; scrolling: boolean; range?: { startIndex: number; endIndex: number; }; unsubscribes: Array<void | (() => void)>; dynamicSizeCache: Map<number, number>; pendingDynamicSizeIndexes: number[]; setOptions(options: TOptions & BasicVirtualizerOptions): void; dynamicMode(): boolean; setScrollElementRect(rect: Rect): void; /** * 获取每条lane的最后一个item 并返回end值最小的那一个 * @param items * @param index */ private getLastItemForLane; /** * 所有虚拟项数据 */ private geItemsWithtMemo; getItems(): VirtualItem[]; private getVirtualItemsWithMemo; getVirtualItems(): VirtualItem[]; private getVirtualIndexesWithMemo; getVirtualIndexes(): number[]; getScrollOffset(): number; getSize(): number; getTotalSize(): number; calculateStartIndex(scrollOffset: number): number; private calculateRangeWithMemo; private calculateRangeIndex; getOffsetForAlign(offset: number, align?: ScrollAlignment, itemSize?: number): number; getOffsetForIndex(index: number, align?: ScrollAlignment): number; private notifyWithMemo; notify(): void; /** * 清除指定函数的缓存 * @param names 需要清除缓存的函数名称 */ clearFnMemo(names: ('notifyWithMemo' | 'calculateRangeWithMemo' | 'getVirtualItemsWithMemo' | 'getVirtualIndexesWithMemo' | 'geItemsWithtMemo')[]): void; } //# sourceMappingURL=basic.d.ts.map