vue 支持百萬(wàn)量級(jí)的無(wú)限滾動(dòng)組件詳解
正文
滾動(dòng)相信大家都做過(guò),但是不知道大家當(dāng)遇到大量數(shù)據(jù)甚至幾百萬(wàn)條數(shù)據(jù)時(shí)該怎么辦呢?
或許有小伙伴說(shuō):用分頁(yè)呀,每次只展示有限的數(shù)據(jù),需要更多的時(shí)候點(diǎn)擊下一頁(yè)呀
分頁(yè)確實(shí)是一種解決方案,但是卻不是最好的體驗(yàn)方式。無(wú)限滾動(dòng)就是解決這種場(chǎng)景更好的技術(shù)手段
而今天就是給大家分享一款可以承受百萬(wàn)量級(jí)數(shù)據(jù)的無(wú)限滾動(dòng)組件vue3-infinite-list
vue3-infinite-list
vue3-infinite-list是一個(gè)針對(duì)vue3的短小精悍的無(wú)限滾動(dòng)組件,它體積非常小、零依賴gzip只有 3kb。并且使用的是最新的技術(shù)棧 Vue3 setup api + TypeScript

特點(diǎn)
- 體積小 & 零依賴 – gzipped 后只有 3kb
- 百萬(wàn)級(jí)列表渲染, 不費(fèi)吹灰之力
- 支持滾動(dòng)到指定條目 或 指定初始滾動(dòng)偏移量
- 支持固定 或 可變 寬/高
- 垂直 or 水平 列表
- 使用簡(jiǎn)單可以結(jié)合各類UI庫(kù)使用
- 豐富的demo演示案例
安裝
npm
npm install vue3-infinite-list --save
或者 yarn
yarn add vue3-infinite-list
使用
在應(yīng)用模塊內(nèi)引入無(wú)限滾動(dòng)組件
import InfiniteList from 'vue3-infinite-list';
用無(wú)限滾動(dòng)組件標(biāo)簽包裹待滾動(dòng)數(shù)據(jù)列表
<InfiniteList
:data="data"
:width="'100%'"
:height="500"
:itemSize="50"
:debug="debug"
v-slot="{ item, index }"
>
<div class="li-con">{{ index + 1 }} : {{ item }}</div>
</InfiniteList>
使用非常簡(jiǎn)單,內(nèi)部可以結(jié)合element-plus或者antd-vue、tdesign等UI庫(kù)。
而且還可以動(dòng)態(tài)控制滾動(dòng)高度(每一項(xiàng)item高度值是變化的)
<InfiniteList
:data="data"
:width="'100%'"
:height="520"
:itemSize="getItemSize"
:debug="debug"
v-slot="{ item, index }"
>
<div class="li-con">item {{ index }} : {{ item }}</div>
</InfiniteList>
// 通過(guò)這個(gè)函數(shù)可以動(dòng)態(tài)設(shè)置元素寬高.
const getItemSize = (i: number): number => {
switch (i % 4) {
case 1:
return 80;
case 2:
return 50;
case 3:
return 100;
default:
return 200;
}
};

功能
- item固定高度類型, 垂直滾動(dòng)(默認(rèn))
- 設(shè)置滾動(dòng)方向?yàn)樗椒较?/li>
- 動(dòng)態(tài)控制滾動(dòng)高度(每一項(xiàng)item高度值是變化的)
- 滾動(dòng)到指定元素位置(可以設(shè)置對(duì)齊方式)
- 支持動(dòng)態(tài)變更數(shù)據(jù)
- 設(shè)置額外渲染元素的數(shù)量
github: github.com/tnfe/vue3-i…
文檔地址:tnfe.github.io/vue3-infini…
以上就是vue 支持百萬(wàn)量級(jí)的無(wú)限滾動(dòng)組件詳解的詳細(xì)內(nèi)容,更多關(guān)于vue 百萬(wàn)量級(jí)的無(wú)限滾動(dòng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- vue3實(shí)現(xiàn)無(wú)縫滾動(dòng)組件的示例代碼
- 手把手教你用VUE封裝一個(gè)文本滾動(dòng)組件
- 簡(jiǎn)單方法實(shí)現(xiàn)Vue?無(wú)限滾動(dòng)組件示例
- 基于Vue3實(shí)現(xiàn)無(wú)限滾動(dòng)組件的示例代碼
- vue-seamless-scroll無(wú)縫滾動(dòng)組件使用方法詳解
- 詳解vue 自定義marquee無(wú)縫滾動(dòng)組件
- vue的無(wú)縫滾動(dòng)組件vue-seamless-scroll實(shí)例
- VUE中使用滾動(dòng)組件-vueSeamlessScroll
相關(guān)文章
掌握Qwik.js,輕松應(yīng)對(duì)前端SSR渲染問(wèn)題
掌握Qwik.js,輕松應(yīng)對(duì)前端SSR渲染問(wèn)題!本指南將為你揭示如何使用這款強(qiáng)大的框架,讓你在前端開(kāi)發(fā)中游刃有余2023-12-12
vue 解決computed修改data數(shù)據(jù)的問(wèn)題
今天小編就為大家分享一篇vue 解決computed修改data數(shù)據(jù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
vue實(shí)現(xiàn)微信公眾號(hào)h5跳轉(zhuǎn)小程序的示例代碼
本文主要介紹了vue實(shí)現(xiàn)微信公眾號(hào)h5跳轉(zhuǎn)小程序的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
Vuex unknown action type報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了Vuex unknown action type報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
vue總線機(jī)制(bus)知識(shí)點(diǎn)詳解
在本篇文章中小編給大家整理的是關(guān)于vue總線機(jī)制(bus)知識(shí)點(diǎn)總結(jié),有興趣的朋友們可以跟著學(xué)習(xí)下。2020-05-05
vue+elementui+vuex+sessionStorage實(shí)現(xiàn)歷史標(biāo)簽菜單的示例代碼
本文主要介紹了vue+elementui+vuex+sessionStorage實(shí)現(xiàn)歷史標(biāo)簽菜單的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12

