I need the inital position of the cdk-virtual-scroll-viewport
to be other than the first element / item of the list.
Now I found the scrollToIndex
and scrollTo
methods, but I only can get them to work when using it in the ngAfterViewChecked
, which feels off.
- Can someone confirm that the using those methods in the
ngAfterViewChecked
is the right way of doing things? - If not, show an alternative method / technique?
@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>