gpt4 book ai didi

angular - 如何在 Angular 7 中设置 CdkVirtualScrollViewport 的初始索引(位置)

转载 作者:太空狗 更新时间:2023-10-29 18:00:31 32 4
gpt4 key购买 nike

我需要 cdk-virtual-scroll-viewport 的初始位置不是列表的第一个元素/项目。

现在我找到了 scrollToIndexscrollTo 方法,但我只能在 ngAfterViewChecked 中使用它们才能使它们工作,感觉关闭。

  1. 有人可以确认在 ngAfterViewChecked 中使用这些方法是正确的做事方式吗?
  2. 如果不是,请展示替代方法/技术?

  @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>

最佳答案

我有同样的问题,我有一个不太优雅的解决方案

contentCheck = 0

ngAfterViewChecked() {
if (this.contentCheck < 3) {
this. cdkVirtualScrollViewport.scrollToIndex(4000);
this.contentCheck++;
}
}

3 检查 scrollToIndex 工作后。

关于angular - 如何在 Angular 7 中设置 CdkVirtualScrollViewport 的初始索引(位置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53269172/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com