我在 Angular 的一个列表上实现了CdkVirtualForOf,并将其 templateCacheSize 设置为 150 以提高性能。
但是当我对数据进行排序并滚动时,缓存的模板会破坏视图中的项目。换句话说:我对数据进行排序,并且列表正确更新。然后我向下滚动,但是当我再次向上滚动时,列表中的条目不正确,因为模板缓存。
这个“问题”在 GitHub 上报告。
我尝试禁用模板缓存,这消除了问题,但是使列表执行得非常糟糕,几乎无法使用。
所以...
我该如何处理?有没有办法刷新 cdkVirtualFor 模板缓存?还是有另一种方法可以使用 cdkVirtualFor 进行排序?
我尝试做一个最小的复制,但是虽然我激活了模板缓存,但它没有运行。我把它留在这里供参考,或者如果有人可以告诉我如何让我的复制工作。
https://stackblitz.com/edit/angular-ivy-wzfnem?file=src%2Fapp%2Fapp.component.html