我需要的初始位置cdk-virtual-scroll-viewport
不是列表的第一个元素/项目。
现在我找到了scrollToIndex
andscrollTo
方法,但我只有在 中使用它时才能让它们工作ngAfterViewChecked
,感觉不对劲。
- 有人可以确认使用这些方法
ngAfterViewChecked
是正确的做事方式吗? - 如果没有,请展示另一种方法/技术?
@ViewChild(CdkVirtualScrollViewport) cdkVirtualScrollViewport: CdkVirtualScrollViewport;
numbers: number[] = [];
constructor() {
for (let index = 0; index < 10000; index++) {
this.numbers.push(index);
}
}
ngAfterViewChecked() {
this.cdkVirtualScrollViewport.scrollToIndex(2000);
}
<ul class="list">
<cdk-virtual-scroll-viewport style="height:264px" itemSize="88">
<ng-container *cdkVirtualFor="let n of numbers">
<li style="height:88px">{{ n }}</li>
</ng-container>
</cdk-virtual-scroll-viewport>
</ul>