angular - Angular 7 cdk-virtual-scroll-viewport - 虚拟滚动
问题描述
cdk-virtual-scroll-viewport 是否有可用的事件来查找列表中的元素是否被渲染。例如,在滚动浏览下面类似的列表时,是否有办法识别特定的 li 是否呈现或一组新元素呈现到 DOM 中。
- 物品
- 物品
- 物品
解决方案
我认为属性
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));
}
推荐阅读
- javascript - 根据菜单中的选择更改输入类型
- javascript - Mongoose date $gte 运算符未按预期工作
- node.js - 基本节点错误:app.use() 需要中间件函数
- javascript - 使用 blob 从 md 输入制作 .docx 文件?
- linux - 使用 CSV 中的文件列作为文件名,在 bash 中查找并输出文件的完整路径
- python - 计算多标签分类问题的标签数量时出错
- django - 在 Django 中实例化时预填充非模型表单属性
- python - 将函数应用于 Pandas 中的数据框会返回 UnboundLocalError
- go - 如何在 Prometheus (k8s) 中动态定义指标
- excel - For Loops 仅在将值插入 6 行单元格后执行 3 步