前言
随着前端技术的发展,现在的 WEB 应用越来越注重用户交互体验,而列表是页面上最常见的展示方式之一,因此提供用户一个高效、可定制、易拓展的列表组件对于我们来说很重要,正巧我们有 twlistview 这样一款 npm 包,具有以上所有特性。
twlistview
twlistview 是一款基于 Vue.js 开发的轻量、高度自定义、支持无限滚动、支持 virtual list 的列表组件,在实际项目中表现也十分稳定,它支持多种场景下的自定义,例如:
- 无限滚动
- 自定义 item 样式
- 多列列表
- 多行列表
- 卡片列表
- 左右联动列表
此外,twlistview 还提供了一些高级拓展功能,例如 lazy load,绝对布局,列表事件等等。
以下是一份简单易懂的教程:
快速开始
首先我们需要在我们的项目中安装,可以通过 npm 来完成,这里以 vue-cli3 搭建的项目为例。
安装
npm install twlistview -S
使用
twlistview 可以与大部分的 Vue 项目无缝集成,在 main.js 中引入 twlistview:
import Vue from 'vue' import twlistview from 'twlistview' Vue.use(twlistview)
在组件中使用:
-- -------------------- ---- ------- ----------- ------------- ---------------- ------------- - ---------- ---- ------------- -- ------------ -- ------ ----------- -------------
props
items
:列表项数据;itemHeight
:列表项高度;height
:列表可见高度。
slot
template
现在,我们已经成功地将 twlistview 集成到了我们的项目中,但是现在只是展示了简单列表,后面我们会对它进行更高级的定制。
使用高级功能
virtual list
默认情况下,twlistview 可以处理的列表最大化保持在主动渲染视图中,这意味着在处理大量列表项目时,它的束缚力会使插件效率低下。 twlistview 通过 virtual list
(一种技术实现虚拟滚动) 将维护的列表项目数量降到最低。
为了启用虚拟列表,you simply need to use the rendered slot and point the template
to it (note 如下代码中的 `:virtual="true"):_
-- -------------------- ---- ------- ----------- ------------- ---------------- ------------- --------------- - --------- ------------- ---- --- ---- ------------- -- ------------ -- ------ ----------- -------------
启用虚拟列表功能本质上可以大幅提高列表渲染的性能,因为它只会显式呈现在视图中的列表项,而不是将其全部保留在内存中。当滚动滚动条时,每次只添加和删除一定数量的列表项,使滚动平滑而不会被暂停,大幅提升用户体验。
lazy load
另一个酷炫的特性是 lazy load
,它可以使列表显式地等待在视图中显示,直到滚动到该列表项。代替‘延迟加载’,在 twlistview 中,‘lazy load’ 对于长列表特别有用,以确保流畅的滚动。
-- -------------------- ---- ------- ----------- ------------- ---------------- ------------- --------------- ------------ - --------- ------------- ---- --- ---- ------------- -- ------------ -- ------ ----------- --------- ---------------- - --------- - ----------- ---- ---------------- ---------- ------ ----------- -------------
我们在 slot 中使用了一个参数 isLoading
,可以通过它来设置当前列表的等待状态,并在列表加载时显示一个 loading 提示框。
绝对布局
现在让我们来看看如何使用 twlistview 实现一个类似于“头部悬浮”的布局吧!我们可以使用绝对定位来实现这一点,将列表项分割成锁定和解锁项。
-- -------------------- ---- ------- -------- - --------------- - ------ -------- - ------ -------- -- - --------- --- --------- -- -- --------------- - ------ -------- - ------ -------- -- - --------- --- --------- -- -- ------------- - ---- -- - ------ -------- - ------ ------ -- - --------- --- -------- ------------ -- - -
-- -------------------- ---- ------- ----------- ------------- ------------- ------------ ---------------- --------------- ------------------- - --------- ------------- ----- --- ---- ----------------- --------- ------- --------------- - ------ --- ---- --------------- --------- ----------- ----------- -------------- ------------- --- ---- ------------- ------- ------------- -------------- -- ------ ---- ------------- ----------------------- ------ ---- ------------- ------- ------------- -------------- -- ------ ------ ------ ----------- -------------
列表事件
twlistview 还提供了以下事件:
scroll
: 响应滚动事件。
-- -------------------- ---- ------- ----------- ------------- ---------------- ------------- ---------------------- - ---------- ---- ------------- -- ------------ -- ------ ----------- -------------
methods: { handleScroll(event) { console.log(event) } }
以上就是这篇 twlistview 的使用教程,希望对你有所帮助,更多详细信息请参阅 twlistview 官网。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056c8981e8991b448e6035