vue3实现虚拟滚动Vue-Virtual-Scroller

前端优化不可不避的一谈之虚拟滚动:众所周知,滚动是直挺挺的往dom树加东西,如果滚太多滚到万级,渲染过多就会卡顿,而vue-virtual-scroll的灵活懒渲染就能解决这个问题

1,下载与配置

npm install --save vue-virtual-scroller@next

2,main.ts中配置导入

import VueVirtualScroller from 'vue-virtual-scroller'
import 'vue-virtual-scroller/dist/vue-virtual-scroller.css'

app.use(VueVirtualScroller)

3,使用如下:

Arr是自定义的比如一个对象数组,至少含有id,min-item-size是最小的高度默认px单位,key-field会读取posts中的id,列表的长度由posts长度决定,行内style的两个样式是必须有的,高度代表视窗高度,然后设置overscroll-scroll才能滚动,其他属性就没必要管了,不用去看官方又臭又长的文档

<template>
    <DynamicScroller
         :style="'overflow':'scroll', 'height':'400px'"
        :items="Arr"
        :min-item-size="100"
        key-field="id"
    >
        <template #default="{ item, index, active }">
            <DynamicScrollerItem
                :item="item"
                :active="active"
                :data-index="index"
            >
                // 这里放置需要循环的代码
            </DynamicScrollerItem>
        </template>
    </DynamicScroller>
</template>
相关推荐
冴羽38 分钟前
SvelteKit 最新中文文档教程(2)—— 路由
前端·javascript·svelte
虾球xz1 小时前
游戏引擎学习第153天
javascript·学习·游戏引擎
2401_853275731 小时前
ajax组件是什么
前端·javascript·ajax
呆头呆脑~1 小时前
同盾v2 2025版 blackbox , wasm加解密,逆向协议算法生成,小盾安全
javascript·爬虫·python·算法·网络爬虫·wasm
刺客_Andy1 小时前
vue3第三十节(vue3 vite中使用sass)
前端·vue.js
星寂樱易李1 小时前
gpon 业务
vue.js
monkeyhlj2 小时前
前:vue 后:django 部署:supervisor+nginx 流程及部分问题简记
vue.js·nginx·django
西柚i2 小时前
开发工具链的智能化重构
前端·javascript
夜寒花碎2 小时前
如何把项目里的webpack换成vite?
前端·vue.js·vite
Fuzzyface2 小时前
手动实现 promiseAll与带有并发控制的promiseAllWithConcurrencyLimit
javascript