当前位置: 首页 > article >正文

表格树(有展开功能)数据量大导致渲染慢问题的解决方法

  1. 项目中用到表格树,有层级展开功能,现场数据量非常大,初始渲染和进行一些操作时会非常卡顿,使用效果差。
  2. 表格树卡顿的解决方案:懒加载和虚拟表格。
  • 懒加载
    • element table 的懒加载 官网地址
      • 使用<el-table>懒加载,点击父级调用接口获取子级。
      • 优点:按层级获取数据,节点数据异步加载,减轻渲染压力。
      • 缺点:只能一个层级一个层级的展开,若需求需要一次性打开所有层级,则无法实现。
      • 数据结构:通过hasChildren定义是否有子级,子级数据放在父级的children中
  • 虚拟表格
    • element plus 虚拟化表格 官网地址
      • 使用<el-table-v2>
      • 缺点:该组件仍在测试中,生产环境使用可能有风险。(来自官方提示)
      • 数据结构:没有children,是普通的对象数组,id为唯一值,通过id和parentId一致确定是否是子级数据
    • vxe-table 官网地址
      • 使用<vxe-table>
      • 数据结构:
        • 没有children,是普通的对象数组,id为唯一值,通过id和parentId一致确定是否是子级数据(支持虚拟表格)
        • 有children的格式(不支持虚拟表格)
  1. 表格树的数据量大,不可避免会导致页面渲染速度慢。
  2. 如果表格树可编辑,则最好先隐藏输入框,点击某行再把该行的输入框显示出来。会减少一些初次渲染时间。
  3. 避免一些需要遍历树结构的需求,遍历树结构也会耗费时间。
  4. 开发之前需要提前预知是否数据量大会导致卡顿,需提前选择解决方案,因为不同解决方案的数据结构不同,后期再改成本和风险太大。
  5. 避免在表格单元格中添加遍历方法,因为在每次点击表格行、勾选等操作后,都会触发,会大大增加渲染时间。

http://www.kler.cn/a/440940.html

相关文章:

  • arkts bridge使用示例
  • 基于互联网+智慧水务信息化整体解决方案
  • 如何从客观角度批判性阅读分析博客
  • 【AI绘画】MidJourney关键词{Prompt}全面整理
  • 如何利用天赋实现最大化的价值输出
  • UE5.3 C++ CDO的初步理解
  • 【21天学习AI底层概念】day8 强人工智能会在什么时候实现?
  • [Unity Shader] 【图形渲染】Unity Shader的种类1-深入理解表面着色器(Surface Shader)
  • 设计模式12:状态模式
  • Leetcode经典题14--罗马数字和整数之间的相互转换
  • 【linux】shell(37)-脚本调试
  • Scala-异常
  • 网络安全、Web安全、渗透测试之笔经面经总结(二)
  • 鸿蒙项目云捐助第十讲鸿蒙App应用分类页面二级联动功能实现
  • QT TCP(socket)编程-服务器与客户端IP地址问题
  • 在 SQL Server 中获取指定字符所在有位置索引
  • stm32-- 存储-flash和ram
  • Hadoop概述
  • Linux实操篇-远程登录/Vim/开机重启
  • 【超详细实操内容】django的身份验证系统之User对象
  • 科技快讯 | 开源鸿蒙5.0版本即将亮相;英国测试AI摄像头抓酒驾;Kimi 发布视觉思考模型 k1
  • 单元测试知识总结
  • FFMPEG视频转图片
  • 【大模型微调学习6】-实战Hugging Face Transformers工具库
  • 太速科技-365-基于XC7Z045+AD9361的双收双发无线电射频板卡
  • ubuntu24.04、win11配置pysot