ng-cw-v12
Version:
Angular UI Component Library
45 lines (44 loc) • 1.87 kB
TypeScript
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 {};