Angular 7 cdk-virtual-scroll-viewport - 虚拟滚动

Shy*_*han 1 angular virtualscroll

是否有任何可用的事件,cdk-virtual-scroll-viewport 来查找列表中的元素是否呈现。例如,在滚动浏览下面的列表时,是否有一种方法可以识别特定的 li 是否呈现或一组新元素呈现到 DOM 中。

  • 物品
  • 物品
  • 物品

row*_*adz 5

我觉得属性

renderRangeStream: 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));
  }
Run Code Online (Sandbox Code Playgroud)

在这里这里阅读更多