PrimeNG 11迁移时virtualScroller导入报错及clearCache()替代方案咨询
PrimeNG 11迁移VirtualScroller相关问题解决方案
1. VirtualScroller导入报错修复
- 首先确认导入路径,PrimeNG 11中VirtualScroller的相关导入已统一收敛到
primeng/virtualscroller路径下,废弃了此前的primeng/components/virtualscroller等旧路径,正确导入写法如下:
导入模块:
导入组件实例类型:import { VirtualScrollerModule } from 'primeng/virtualscroller';import { VirtualScroller } from 'primeng/virtualscroller'; - 若修改路径后仍报错,先确认
package.json中primeng依赖版本已升级到11.x分支,再删除本地node_modules文件夹和package-lock.json(或yarn.lock)后重新执行依赖安装,清除旧版本残留缓存即可。
2. clearCache()方法替代方案
PrimeNG 11移除了VirtualScroller的clearCache()实例方法,可根据场景选择以下两种方案替代:
- 轻量刷新(推荐,性能开销小):调用实例的
scrollToIndex()方法传入当前可视区域首个元素的索引,触发视图重建即可清除现有缓存:// 需提前通过@ViewChild获取VirtualScroller实例,命名为virtualScroller this.virtualScroller.scrollToIndex(this.virtualScroller.first); - 全量重置:给VirtualScroller绑定的
value属性赋值新的数组引用,触发组件全量重计算缓存:// 对原列表做浅拷贝生成新引用即可 this.itemList = [...this.itemList];
内容的提问来源于stack exchange,提问作者user2753544
相关产品推荐
相关产品推荐

