Vue虚拟列表,无限滚动组件选型

vue-virtual-scroller

https://www.npmjs.com/package/vue-virtual-scroller
v1.0兼容vue2
v2.0兼容vue3
RecycleScroller支持固定高度的场景,也支持动态高度的列表项目(DynamicScroller),实用性很强
v2.0.0 beta 8 已知bug:
即使 buffer 设置0,有时候也渲染了很多 dom,导致虚拟列表性能很低,严重卡顿。(偶现)

我以为这个就是最好的虚拟列表组件,实际上用起来,还是有一些问题,而且作者很久没处理 issue 了

即使现在2026年了,找个虚拟列表插件、无限滚动容器组件,还是很难找到满意的开源软件

有些开源库,很久没更新了,有些只兼容vue2,不支持vue3

有些无人问津,没人维护,没多少人使用


vue-virt-list

https://github.com/kolarorz/vue-virt-list
36次发版
7个维护者
2年维护历史
支持vue2 vue3
我验证过 vue-virt-list v1.7.0 
虚拟列表组件,已知bug:
1 对于非固定高度的列表项目,如果项目折叠、展开改变了高度,导致视口没有及时填补空缺,可通过组件ref实例 调用滚动50px来解决,但不算优雅的解决方案
2 拖动滚动条,有时候滚动条有bug,无法回到顶部或者底部,甚至无法拖拽到指定的位置

vueuse useVirtualList

https://vueuse.org/core/useVirtualList/
只处理了固定高度的场景
对于我来说,不适用,因为我每个列表项目的高度是动态的,不是固定高度

vue-virtual-scroll-list

https://github.com/tangbc/vue-virtual-scroll-list
支持vue2
3年没更新

# Github# 开源软件