Dal*_*lie 7 lifecycle angular virtualscroll angular-cdk angular7
我需要的初始位置cdk-virtual-scroll-viewport不是列表的第一个元素/项目。
现在我找到了scrollToIndex和scrollTo方法,但我只能在 中使用它时才能让它们工作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);
}Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
小智 1
我有同样的问题,我有一个不太优雅的解决方案
contentCheck = 0
ngAfterViewChecked() {
if (this.contentCheck < 3) {
this. cdkVirtualScrollViewport.scrollToIndex(4000);
this.contentCheck++;
}
}
Run Code Online (Sandbox Code Playgroud)
3 次检查后,scrollToIndex 是否有效。
| 归档时间: |
|
| 查看次数: |
1751 次 |
| 最近记录: |