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)組件,它體積非常小、零依賴(lài)gzip只有 3kb。并且使用的是最新的技術(shù)棧 Vue3 setup api + TypeScript
特點(diǎn)
- 體積小 & 零依賴(lài) – gzipped 后只有 3kb
- 百萬(wàn)級(jí)列表渲染, 不費(fèi)吹灰之力
- 支持滾動(dòng)到指定條目 或 指定初始滾動(dòng)偏移量
- 支持固定 或 可變 寬/高
- 垂直 or 水平 列表
- 使用簡(jiǎn)單可以結(jié)合各類(lèi)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固定高度類(lèi)型, 垂直滾動(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)文章
vue.js內(nèi)部自定義指令與全局自定義指令的實(shí)現(xiàn)詳解(利用directive)
這篇文章主要給大家介紹了關(guān)于vue.js內(nèi)部自定義指令與全局自定義指令的實(shí)現(xiàn)方法,vue.js中實(shí)現(xiàn)自定義指令的主要是利用directive,directive這個(gè)單詞是我們寫(xiě)自定義指令的關(guān)鍵字,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07vue踩坑之backgroundImage路徑問(wèn)題及解決
這篇文章主要介紹了vue踩坑之backgroundImage路徑問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10vue中實(shí)現(xiàn)支持txt,docx,xlsx,mp4格式文件預(yù)覽功能(純前端)
對(duì)于Vue你可以實(shí)現(xiàn)文件的預(yù)覽功能,這篇文章主要給大家介紹了關(guān)于vue中實(shí)現(xiàn)支持txt,docx,xlsx,mp4格式文件預(yù)覽功能的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11Vue3實(shí)現(xiàn)動(dòng)態(tài)導(dǎo)入Excel表格數(shù)據(jù)的方法詳解
在開(kāi)發(fā)工作過(guò)程中,我們會(huì)遇到各種各樣的表格數(shù)據(jù)導(dǎo)入,動(dòng)態(tài)數(shù)據(jù)導(dǎo)入可以減少人為操作,減少出錯(cuò)。本文為大家介紹了Vue3實(shí)現(xiàn)動(dòng)態(tài)導(dǎo)入Excel表格數(shù)據(jù)的方法,需要的可以參考一下2022-11-11vue?router?動(dòng)態(tài)路由清除方式
這篇文章主要介紹了vue?router?動(dòng)態(tài)路由清除方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05Vue實(shí)現(xiàn)雙向數(shù)據(jù)綁定
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)雙向數(shù)據(jù)綁定的方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05