Angular 角度虚拟滚动重置为顶部

Angular 角度虚拟滚动重置为顶部,angular,typescript,angular-cdk,virtualscroll,angular-cdk-virtual-scroll,Angular,Typescript,Angular Cdk,Virtualscroll,Angular Cdk Virtual Scroll,在我的应用程序中,我使用的是来自角度cdk的 这是我的组件的模板: {{item}} 在我的组件的类中,我有一个方法可以更改数组items,赋予它新的内容。每次调用此方法时,数组的大小都可能更改: 重新加载(新项目){ this.items=newItems; } 调用方法reload后,项目数组将正确更新,视图将反映此更改。但是,卷轴不会回到顶部 我希望每次更改项数组时,虚拟滚动都能重置顶部的滚动。我通过在组件中注入CdkVirtualScrollViewport解决了这个问题: 从'@

在我的应用程序中,我使用的是来自角度cdk的

这是我的组件的模板:


{{item}}
在我的组件的类中,我有一个方法可以更改数组
items
,赋予它新的内容。每次调用此方法时,数组的大小都可能更改:

重新加载(新项目){
this.items=newItems;
}
调用方法
reload
后,项目数组将正确更新,视图将反映此更改。但是,卷轴不会回到顶部


我希望每次更改
数组时,虚拟滚动都能重置顶部的滚动。

我通过在组件中注入
CdkVirtualScrollViewport
解决了这个问题:

从'@angular/cdk/scrolling'导入{CdkVirtualScrollViewport};
// ...
导出类MyComponent{
@ViewChild(CdkVirtualScrollViewport)virtualScroll:CdkVirtualScrollViewport;
// ...
重新加载(新项目){
this.items=newItems;
this.virtualScroll.scrollToIndex(0);
}
}

调用
this.virtualScroll.scrollToIndex(0)成功了。

因此,如果我们使用多个cdkvirtualscroll,我们如何重置scrollToIndex(0),请参阅Ex: