写一个vue当中虚拟列表
时间: 2023-11-28 14:07:44 浏览: 123
使用 Vue 实现一个虚拟列表的方法
5星 · 资源好评率100%
虚拟列表是一种优化长列表性能的技术,它只渲染用户可见的部分,而不是渲染整个列表。在 Vue 中,可以使用 vue-virtual-scroll-list 插件来实现虚拟列表。
安装:
```
npm install vue-virtual-scroll-list
```
使用:
```vue
<template>
<div>
<virtual-scroll-list :size="40" :remain="20" :bench="100" :items="items">
<template v-slot="{ item }">
<div>{{ item }}</div>
</template>
</virtual-scroll-list>
</div>
</template>
<script>
import VirtualScrollList from 'vue-virtual-scroll-list';
export default {
components: {
VirtualScrollList,
},
data() {
return {
items: [],
};
},
created() {
// 生成大量数据
for (let i = 0; i < 10000; i++) {
this.items.push(`Item ${i}`);
}
},
};
</script>
```
在上述代码中,`<virtual-scroll-list>` 是虚拟列表的容器,它接受以下 props:
- `size`:每个虚拟元素的高度或宽度(取决于滚动方向),必填
- `remain`:保留多少个虚拟元素在视图之外,可选,默认为 10
- `bench`:滚动的容忍差值,可选,默认为 30
- `items`:要显示的数据数组,必填
在 `<virtual-scroll-list>` 中,使用了插槽 `<template v-slot="{ item }">` 来渲染每个虚拟元素。`item` 是当前虚拟元素表示的数据对象。在插槽中可以自定义虚拟元素的样式和内容。
需要注意的是,`<virtual-scroll-list>` 必须设置固定高度或宽度,才能使虚拟列表正常工作。
阅读全文