UNPKG

ng-cw-v12

Version:

Angular UI Component Library

45 lines (44 loc) 1.87 kB
import { AfterViewInit, OnDestroy, ElementRef, NgZone, OnChanges, SimpleChanges } from '@angular/core'; import * as i0 from "@angular/core"; interface VirtualItem { index: number; data: any; } export declare class VirtualScrollComponent implements AfterViewInit, OnChanges, OnDestroy { private ngZone; viewport: ElementRef; templateContainer: ElementRef; /** 列表数据 */ ncItems: any[]; /** 列表项模板 */ ncItemTemplate: any; /** 缓冲item数量,前后各2项 */ ncBufferCount: number; initialized: boolean; private viewInitialized; private resizeObserver; visibleItems: VirtualItem[]; totalPadding: number; topPadding: number; scrollTop: number; itemHeight: number; viewportHeight: number; constructor(ngZone: NgZone); /** * 场景 触发行 原因 * 初始就有值(同步) 第 49 行measureAndUpdate ngOnChanges 先执行但 viewInitialized=false 跳过,由 ngAfterViewInit 补调 * 初始无值,后续赋值(异步) 第 75 行measureAndUpdate ngAfterViewInit 时无数据跳过,数据到达时 ngOnChanges 直接调用 */ ngAfterViewInit(): void; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; /** 测量 itemHeight 并更新列表(需在 ngAfterViewInit 之后调用) */ private measureAndUpdate; onScroll(): void; updateVisibleItems(): void; updateTotalPadding(): void; trackByIndex(index: number, item: VirtualItem): number; static ɵfac: i0.ɵɵFactoryDeclaration<VirtualScrollComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<VirtualScrollComponent, "nc-virtual-scroll", never, { "ncItems": "ncItems"; "ncItemTemplate": "ncItemTemplate"; "ncBufferCount": "ncBufferCount"; }, {}, never, never>; } export {};