element-ui,table增加虚拟列表

为了解决大量DOM元素导致的滚动卡顿问题,本文介绍了一种基于Vue的虚拟列表实现方案。该方案通过计算可视区域内的DOM数量,并利用CSS的translate属性来优化滚动性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文献https://juejin.im/entry/5aaf66f56fb9a028c71e403e

由于业务需要,当大批量的dom(10W个场景)展现在table中,会导致滚动条卡顿,因此需要开发一个虚拟列表的功能

原理:根据grid的高度,计算展现条数,通过css属性,transform中的translate(x,y)方法实现,将数据先保存至js的变量中,每次计算以后,slice数组中的数据,更新至table的data中

css样式设置

这里写图片描述

解决快速滚动至底部,grid空白
这里写图片描述

这里写图片描述

注册scroll监听
这里写图片描述

使用变量保存scrollTop
这里写图片描述

vue监听变量scrollTop
这里写图片描述

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值