基于vxe-table仿excel实时编辑表格的性能优化

在做排班需求的时候需要实现仿excel实时编辑表格,但是做完以后发现编辑一个表格需要4到5秒,因为每一次操作都设计大量的遍历过滤操作,而且要实时编辑需要keep-source,导致非常难用。后来分析了一下
导致慢的几点原因:
1.vxe-table 自身设计原因,需要操作大量dom,实时编辑keep-source也会使性能直线下降。
2.过多的遍历和过滤操作,因为表格很多都是动态的数据,涉及多层遍历渲染,后端数据结构日期返回的特殊性导致需要用到很多次filter过滤来匹配每一天每一个人的数据。
3.数据返回的延时导致使用了很多async/await 来解决数据不同步的问题。
4.列表接口的处理遍历没有做分离。
5.定时器的影响(maybe)
7. 前端对后端数据的二次处理。
解决办法:
1.尽量减少遍历过滤操作。
2.前端尽量减少数据的二次处理,后端能处理让后端来处理好返回给前端。
3.减少同步操作,减少代码阻塞。
4.对代码解耦。
针对减少过滤操作,后端修改了返回的数据形势,以前如果当天没有数据,当天的date不返回,导致渲染时需要通过date做匹配,这种效率比较差,后来让后端改成了当天有没有数据,当天字段都返回,这样就可以通过下标做匹配,减少了一个过滤操作。经过这一系列操作,每一步操作从5秒降低到了3秒。排班从2秒降低到了1秒。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值