Мне нужно, чтобы начальная позиция 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);
}
<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>