位置: IT常识 - 正文

解决el-tree子节点过多导致渲染缓慢问题(el-tree方法)

编辑:rootadmin
解决el-tree子节点过多导致渲染缓慢问题 1、问题背景

推荐整理分享解决el-tree子节点过多导致渲染缓慢问题(el-tree方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:el-tree添加节点,el-tree方法,el-tree自定义节点,el-tree怎么获取选中的节点,el-tree怎么获取选中的节点,el-tree resolve,el–tree,el–tree,内容如对您有帮助,希望把文章链接给更多的朋友!

在使用el-tree中,通常会调用后端接口从而去渲染tree。若后端返回数据量过于庞大,则会导致el-tree渲染缓慢的问题。此时我们通常会使用懒加载tree的方式,也就是点击某一个节点后去调取接口动态获取该节点的子数据。这种方式的确会对性能友好很多。但如果在节点数量在万级以上会有明显的卡顿,若数据量在五万以上可能会导致el-tree假死的情况。

2、解决方案

在市面上可能会有多种解决方案,我个人推荐 @wchbrad/vue-easy-tree这个包。这是一个作者结合el-tree结合虚拟滚动封装的的一个虚拟滚动tree组件,作者博客出处:

vue 实现 tree 树形大量数据的多功能虚拟滚动-Virtual Tree_Brad_chao的博客-CSDN博客_vue树形数据展示

下面是一篇虚拟滚动的文章。作者非常详细的介绍了虚拟滚动。

解决加载大量列表DOM导致浏览器性能瓶颈的虚拟滚动技术_程序员_Cc的博客-CSDN博客_虚拟滚动 

3、使用方式

使用npm下载:

npm install @wchbrad/vue-easy-tree解决el-tree子节点过多导致渲染缓慢问题(el-tree方法)

yarn下载

yarn add @wchbrad/vue-easy-tree

组件中进行引入:

import VueEasyTree from "@wchbrad/vue-easy-tree";// 样式文件,可以根据需要自定义样式或主题import "@wchbrad/vue-easy-tree/src/assets/index.scss"export default { components: { VueEasyTree }}

我使用vue-easy-tree的感觉就是兼容el-tree基本功能并支持大量数据虚拟滚动操作

5、demo演示

说明:通过一个小demo演示并对比el-tree与vue-easy-tree的渲染效率区别

如下图,通过两个按钮来对比两者之间的区别。base作为叶子节点数量。此时我将基数给予1w作为测试

<template> <div class="hello"> <!-- vue-easy-tree --> <el-button @click="()=>{ isBlock=true isBlock2 = false}" >vue-easy-tree</el-button> <!-- el-tree --> <el-button @click="()=>{ isBlock2=true isBlock=false }">el-tree</el-button> <vue-easy-tree ref="veTree" node-key="id" height="calc(100vh - 30px)" :data="treeData" :props="props" v-if="isBlock" ></vue-easy-tree> <el-tree ref="veTree" node-key="id" height="calc(100vh - 30px)" :data="treeData" :props="props" v-if="isBlock2" ></el-tree> </div></template><script>import VueEasyTree from "@wchbrad/vue-easy-tree";// 样式文件,可以根据需要自定义样式或主题import "@wchbrad/vue-easy-tree/src/assets/index.scss";export default { name: "HelloWorld", components: { VueEasyTree, }, data() { return { props: { label: "name", children: "children", }, isBlock:false, isBlock2:false, treeData: [], }; }, created() { const data = [], root = 8, children = 3, base = 10000; for (let i = 0; i < root; i++) { data.push({ id: `${i}`, name: `test-${i}`, children: [], }); for (let j = 0; j < children; j++) { data[i].children.push({ id: `${i}-${j}`, name: `test-${i}-${j}`, children: [], }); for (let k = 0; k < base; k++) { data[i].children[j].children.push({ id: `${i}-${j}-${k}`, name: `test-${i}-${j}-${k}`, }); } } } this.treeData = data; },};</script><!-- Add "scoped" attribute to limit CSS to this component only --><style scoped></style>

 我们先看下el-tree:

如图 我们点击了节点后大概几秒中之后才展开所有节点。并且在收缩节点时也会有明显的卡顿

我们再看看vue-easy-tree的效果。无卡顿,我们通过控制台可以看出,el-tree渲染了所有节点,而虚拟滚动只渲染了可视区域的节点。所以不会卡顿。 

以上就是vue-easy-tree的用法。需要的小伙伴可以进行参考哦,仅供参考。业务场景不同需求也不同

本文链接地址:https://www.jiuchutong.com/zhishi/284023.html 转载请保留说明!

上一篇:莱奇沃思州立公园,纽约 (© Jay O'Brien/Danita Delimont)(莱奇沃思田园城市)

下一篇:Windows7旗舰版系统极品飞车17已停止工作的解决方(win7旗舰系统)

  • opporeno6电池容量多大(opporeno6电池容量在哪里看)

    opporeno6电池容量多大(opporeno6电池容量在哪里看)

  • 朋友圈内容删除办法是什么(朋友圈内容删除后如何恢复)

    朋友圈内容删除办法是什么(朋友圈内容删除后如何恢复)

  • 怎么让电脑不休眠(怎么让电脑不休眠不黑屏)

    怎么让电脑不休眠(怎么让电脑不休眠不黑屏)

  • 华为性能模式怎么开启(华为性能模式怎么恢复应用动画)

    华为性能模式怎么开启(华为性能模式怎么恢复应用动画)

  • 微信etc激活不了(微信etc激活后 需要充值吗)

    微信etc激活不了(微信etc激活后 需要充值吗)

  • 华为nova7有耳机孔吗(华为新款耳机)

    华为nova7有耳机孔吗(华为新款耳机)

  • 转转可以用白条吗(转转可以用白条吗分24期吗)

    转转可以用白条吗(转转可以用白条吗分24期吗)

  • windows ink是什么(windowlnk是什么)

    windows ink是什么(windowlnk是什么)

  • 微信名片分享添加好友能知道是谁分享的吗(微信名片分享添加可以看到是谁分享的嘛)

    微信名片分享添加好友能知道是谁分享的吗(微信名片分享添加可以看到是谁分享的嘛)

  • vivox27多长(vivo x27多长)

    vivox27多长(vivo x27多长)

  • 腾讯会议能录播吗(腾讯会议录播怎么操作)

    腾讯会议能录播吗(腾讯会议录播怎么操作)

  • 电脑上怎么下载猿辅导(电脑上怎么下载微信)

    电脑上怎么下载猿辅导(电脑上怎么下载微信)

  • 高通骁龙8核什么意思(高通骁龙8核相当于)

    高通骁龙8核什么意思(高通骁龙8核相当于)

  • 华为nce al10叫什么(华为nce—al10)

    华为nce al10叫什么(华为nce—al10)

  • 1000kbps等于多少m(1000kbps等于多少比特率)

    1000kbps等于多少m(1000kbps等于多少比特率)

  • 快手反名是什么意思(快手反名是什么意思啊)

    快手反名是什么意思(快手反名是什么意思啊)

  • word文档怎么调整页面布局(word文档怎么调整行间距)

    word文档怎么调整页面布局(word文档怎么调整行间距)

  • 笔记本装内存条步骤(笔记本装内存条注意事项)

    笔记本装内存条步骤(笔记本装内存条注意事项)

  • 小米手机设置APN快速4G上网方法(苹果手机apn设置在哪里)

    小米手机设置APN快速4G上网方法(苹果手机apn设置在哪里)

  • 居中矩形阴影在哪(矩形中间阴影面积)

    居中矩形阴影在哪(矩形中间阴影面积)

  • powerbeep什么意思(powerup是什么意思)

    powerbeep什么意思(powerup是什么意思)

  • qq大小船消失规则(qq小船不会消失吗)

    qq大小船消失规则(qq小船不会消失吗)

  • qq号被永久封号如何解除(qq号被永久封号了写承诺书有用吗)

    qq号被永久封号如何解除(qq号被永久封号了写承诺书有用吗)

  • vivox23什么时候上市(vivox23什么时候发行的)

    vivox23什么时候上市(vivox23什么时候发行的)

  • 表格上怎么截屏(表格上怎么截屏图片)

    表格上怎么截屏(表格上怎么截屏图片)

  • Vue3、vite项目页面自适应配置(postcss-plugin-px2rem、amfe-flexible)(vue项目页面写在哪里)

    Vue3、vite项目页面自适应配置(postcss-plugin-px2rem、amfe-flexible)(vue项目页面写在哪里)

  • 【Pytorch深度学习实战】(11)变分自动编码器(VAE)

    【Pytorch深度学习实战】(11)变分自动编码器(VAE)

  • 基本保险包括
  • 两处取得工资的成语
  • 所得税五个年度纳税弥补是如何算的?
  • 计提固定资产折旧会计凭证
  • 高新技术企业三级领域
  • 购买水果属于什么费用
  • 材料成本差异借贷方向
  • 货到票未到怎么入账
  • 赠送产品能直接用吗
  • 没有收到房租发票可以摊销吗?
  • 工资计提多了怎么冲
  • 企业注销建造师流程
  • 股东入股资本公司的条件
  • 电子发票缩小多少比例打印
  • 高速公路通行费发票怎么开
  • 个体户开普票要交企业所得税吗
  • 个体户需不需要银行开户
  • 赠送的商品怎么入账
  • 专用发票离线限额是什么意思
  • 股份有限公司发行的股票溢价
  • 餐饮店工装
  • 含税价什么意思?
  • 怎样调整以前年度多计的收入
  • 无形资产商标设计图片
  • linux文件管理与常用命令实验报告
  • ServiceLayer.exe - ServiceLayer是什么进程 有什么用
  • windows7增加桌面
  • 下脚料属于什么科目
  • 净资产现金回收率说明什么
  • 配置nginx支持php
  • 企业商誉属于什么资产
  • 自动驾驶讲解
  • php递归函数详解
  • 出口退税附加税的计税基础
  • 零申报企业所得税季度申报表怎么填写
  • 织梦是什么框架开发的
  • java将整数转化为数组
  • ubuntu下使用SQLite3的基本命令
  • 固定资产清理是三栏式还是多栏式
  • 增值税发票是记账联还是抵扣联
  • 公司的个人所得税是什么意思
  • 购买办公用品属于什么凭证类型
  • 月末结转增值税怎么算
  • 本年利润在
  • 因自然灾害发生固定资产净损失
  • 收到对方公司退款
  • 一般纳税人车辆租赁费的税率是多少
  • 税控盘被锁死
  • 为什么预付账款可以通过应付账款核算
  • 旅客运输服务客体是什么
  • 盈余公积根据什么确定
  • 个体户不交税会判刑吗?
  • 通过sql存储过程发送邮件的方法
  • mysql5.7重装
  • Windows 2008R2 HyperV下安装CentOS6,网卡无痛设置
  • 修改linux系统ip
  • 直通车和百度竞价的区别
  • ubuntu 改名
  • win10服务出现了问题
  • win10怎么解除网吧下载限速
  • centos6.6
  • win10每次登录都要输入微软密码
  • win7系统中如何查看隐藏文件
  • Win10预览版镜像
  • iptables centos
  • 校园网升级套餐
  • el-select tree
  • android 游戏平台
  • perl 匹配不区分大小写
  • unity3d入门视频教程
  • 分离与继承的思想是什么
  • android图片库
  • unity服务器端
  • 详解各种汽油一吨等于多少升
  • shell脚本编程实例
  • 推荐几个非常有趣的书
  • jqueryw3c
  • 两个fragment之间传值
  • 张雪峰谈建筑专业
  • 上缴财政总额是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设