vue3模擬虛擬列表
vue3.0釋出了,剛好學習一下,仿照網上案例寫了一個虛擬列表
<template>
<div class='virtual' @scroll="scroll" :style="{height:400+'px'}">
{{itemHeight}}
<div class="list" :style="{height:dataLengh*itemHeight+'px'}">
<ul :style="{'margin-top':`${scrollTop}px`}">
<li v-for="(item,index) in visiablelist"
:key="index"
:style="{height:itemHeight+'px'}"
>
{{item}}
</li>
</ul>
</div>
</div>
</template>
<script>
import {reactive,toRefs,computed} from 'vue'
export default {
setup(prop,context){
const dataLengh=100;
const itemHeight=40;
const data=reactive({
scrollTop:0,
startIndex:0,
endIndex:10,
})
function scroll(e){
const scrollTop=e.target.scrollTop;
data.scrollTop=e.target.scrollTop
data.startIndex=Math.floor(scrollTop/itemHeight)
data.endIndex=data.startIndex+10
}
const list=new Array(dataLengh)
for(var i=0;i<list.length;i++){
list[i]='這是第'+i+'段文字'
}
const visiablelist=computed(()=>{
return list.slice(data.startIndex,data.endIndex)})
return {...toRefs(data),
scroll,
visiablelist,
dataLengh,
dataLengh,
itemHeight
}
},
}
</script>
<style scoped>
.virtual{ border: solid 1px #eee;
margin-top: 10px;
height :400px;
overflow :auto;}
.list{overflow: hidden;}
ul{ background: #ccc;
list-style: none;
padding: 0;
margin: 0;}
li{ outline: solid 1px #fff;}
</style>
相關文章
- Vue3 封裝不定高虛擬列表 hooksVue封裝Hook
- React-列表元件(通知列表、私信列表、虛擬列表)React元件
- 虛擬蜜罐:從資訊模擬到實現虛擬蜜罐技術
- web技術分享| 虛擬列表實現Web
- WPF 列表開啟虛擬化的方式
- Android studio虛擬模擬器安裝問題Android
- vite 虛擬模組初識Vite
- 新一代虛擬駕駛模擬平臺
- 虛擬模擬部署新方案-畫素流技術
- 虛擬函式 純虛擬函式函式
- 虛擬函式,虛擬函式表函式
- Dalvik虛擬機器、Java虛擬機器與ART虛擬機器虛擬機Java
- 利用 VModule webpack plugin 建立虛擬模組WebPlugin
- 安裝python虛擬環境並配置虛擬環境以及安裝scrapy模組Python
- 虛擬列表是怎麼做效能最佳化的?
- 結合“康熙選秀”,給大家講講“虛擬列表”
- 元宇宙技術對於虛擬模擬應用的影響元宇宙
- 【BUG】鴻蒙模擬器虛擬化問題的解決方案鴻蒙
- 虛擬模擬技術給醫療行業帶來新突破行業
- Vue3——整合mock 模擬資料生成器VueMock
- 虛擬化四、KVM虛擬化技術
- 虛擬機器arm虛擬環境搭建虛擬機
- 虛擬辦公、虛擬展會、虛擬偶像,RTE+XR 還能做什麼?
- 虛擬DOM
- 華為雲DevCloud為虛擬模擬插上網際網路的翅膀devCloud
- vue3早已具備拋棄虛擬DOM的能力了Vue
- java虛擬機器和Dalvik虛擬機器Java虛擬機
- Android 虛擬機器 Vs Java 虛擬機器Android虛擬機Java
- 模擬
- 2024.11.20 NOIP模擬 - 模擬賽記錄
- 10.6 模擬賽(NOIP 模擬賽 #9)
- 關於虛擬模擬教學系統使用WebGL部署的痛點分析Web
- 虛擬模擬教學使用點量雲流化技術有哪些好處
- VMware 虛擬機器一鍵去虛擬化工具虛擬機
- 網路虛擬化之linux虛擬網路基礎Linux
- 介面、虛擬函式、純虛擬函式、抽象類函式抽象
- MySQL虛擬列MySql
- Vue虛擬DOMVue