【发布时间】:2019-08-03 01:57:25
【问题描述】:
cdk-virtual-scroll-viewport 是否有可用的事件来查找列表中的元素是否被渲染。 例如,在滚动浏览下面类似的列表时,是否有办法识别特定的 li 是否呈现或一组新元素呈现到 DOM 中。
- 项目
- 项目
- 项目
【问题讨论】:
标签: angular virtualscroll
cdk-virtual-scroll-viewport 是否有可用的事件来查找列表中的元素是否被渲染。 例如,在滚动浏览下面类似的列表时,是否有办法识别特定的 li 是否呈现或一组新元素呈现到 DOM 中。
【问题讨论】:
标签: angular virtualscroll
我认为属性
renderedRangeStream: Observable ~ ListRange ~ => 每当渲染范围改变时发出的流。
和
@Output() scrolledIndexChange: Observable ~ number ~
关于CdkVirtualScrollViewport可以帮你解决这个问题,
或
@Input() cdkVirtualForTrackBy: TrackByFunction ~T~ |未定义
关于CdkVirtualForOf
你可以使用如下:
在课堂上
....
@ViewChild(CdkVirtualForOf) vrlist: CdkVirtualForOf<any>;
@ViewChild(CdkVirtualScrollViewport) vsv: CdkVirtualScrollViewport;
ngAfterViewInit(): void {
this.vrlist.cdkVirtualForTrackBy = function(a) {
console.log(a);
};
this.vsv.scrolledIndexChange.subscribe((n: number) =>
console.log(n));
this.vsv.renderedRangeStream.subscribe((ls: ListRange) =>
console.log(ls.end, ls.start));
}
【讨论】: