虚拟列表(VirtualList)在Taro3中的使用

技术概述

虚拟列表(VirtualList)是一种在展示大量数据(长列表)时使用的插件,通过只显示必要的DOM和无限滚动,提升页面的性能。在web环境中,我们可以使用vue-virtual-scroll-list之类的npm包。最近热门的小程序框架Taro3也提供了这个能力。从文档说明上看,其功能算是vue-virtual-scroll-list的一个子集。

技术详述

在Taro中使用VirtualList非常简单,我们以Vue.js模式的项目为例——

虚拟列表(VirtualList)在Taro3中的使用_第1张图片

这里是一个单词列表页面,需要展示数千个单词及中文,如果直接展示,页面的将会卡顿较长时间(团队成员也提出了这一点见issue),因此经过考虑我们选用了VirtualList作为解决方案,几乎不再会卡顿。以下是精简后的代码。
完整代码点此:Zhai-dict

1. 引入必要文件

// app.js 入口文件
import VirtualList from `@tarojs/components/virtual-list`

Vue.use(VirtualList)

2. 编写单项组件,用于长列表单个项目的展示