Angular 角度虚拟滚动重置为顶部
在我的应用程序中,我使用的是来自角度cdk的 这是我的组件的模板: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解决了这个问题: 从'@
{{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: