在使用el-table组件提供的lazy模式中,load方法可以实现tree子节点的懒加载。但是当table的数据重新渲染而key值并没有改变时,会发现expand状态下的tree子节点数据无法更新

在el-table的源码中的tree.js

load(row, treeNode, data => {if (!Array.isArray(data)) {throw new Error('[ElTable] data must be an array');}treeData[key].loading = false;treeData[key].loaded = true;treeData[key].expanded = true;if (data.length) {this.$set(lazyTreeNodeMap, key, data);}this.table.$emit('expand-change', row, true);});}

这一段就是load中resolve的源码,我们可以看到treeData[key]的状态都被修改了,而tree组件expand判断是否load的代码如下

loadOrToggle(row) {this.assertRowKey();const { lazy, treeData, rowKey } = this.states;const id = getRowIdentity(row, rowKey);const data = treeData[id];if (lazy && data && 'loaded' in data && !data.loaded) {this.loadData(row, id, data);} else {this.toggleTreeExpansion(row);}},

因此,我们需要修改treeData[id]的loaded为false即可再次加载,id为tree渲染设定的key值,treeData需要通过el-table组件的store获取,通过下方代码即可修改树节点的loaded状态,点击可再次发送loaded请求了(item为存储的key值)

 this.$refs.table['store'].states.treeData[item].loaded = falsethis.$refs.table['store'].states.treeData[item].expanded = false

el-table使用lazy-tree模式,数据重载节点中的tree数据不会更新的问题相关推荐

  1. ssms18还原数据_SSMS 18中的静态数据屏蔽

    ssms18还原数据 In this article we are going to talk about Static Data Masking, a new feature for the SQL ...

  2. matlab如何导入多文本数据,将文本文件中的混合数据导入表

    样本文件概述 样本文件 outages.csv 包含表示美国电力中断的数据.文件的前几行如下: Region,OutageTime,Loss,Customers,RestorationTime,Cau ...

  3. 从大数据应用案例中理解大数据的应用价值

    现在的社会是一个高速发展的社会,科技发达,信息流通,人们之间的交流越来越密切,生活也越来越方便,大数据就是这个高科技时代的产物. 阿里巴巴创办人马云来台演讲中就提到,未来的时代将不是IT时代,而是DT ...

  4. 在 Web 数据控件中显示二进制数据54

    简介 前面的教程中 , 我们介绍了将二进制数据与应用程序的基础数据模型相关联的两种方法 , 并使用FileUpload 控件从浏览器向 Web 服务器的文件系统上载.我们还将了解怎样将上载的二进制数据 ...

  5. html使用xml数据岛,html中的xml数据岛记录编辑与添加_xml技巧

    HTML中的数据岛中的记录集 HTML中的XML数据岛记录编辑与添加 酒店名称: 地址: 主页: 电子邮件: 电话: 级别: " οnclick="theXMLisland.rec ...

  6. oracle分页数据,在Oracle中得到分页数据

    在Oracle中得到分页数据 得到DataSet的值 例子如下: /// /// 得到Colletion分页数据 /// public DataSet GetList(int PageIndex, i ...

  7. java json转二进制数据_JSON字符串中的二进制数据 . 比Base64更好的东西

    UTF-8的问题在于它不是最节省空间的编码 . 此外,一些随机二进制字节序列是无效的UTF-8编码 . 因此,您不能将随机二进制字节序列解释为某些UTF-8数据,因为它将是无效的UTF-8编码 . 这 ...

  8. matlab导入word数据,如何将Excel数据导入MATLAB中?/excel数据导入word模板

    如何将Excel数据导入MATLAB中? 从excel中导入,可以用xlsread()函数. 例如: A=xlsread('C:\Users\Administrator\Desktop\07-29预. ...

  9. html页面加载json数据,在html中显示JSON数据的方法

    背景: 有时候我们需要将json数据直接显示在页面上(比如在做一个接口测试的项目,需要将接口返回的结果直接展示),但是如果直接显示字符串,不方便查看.需要格式化一下. 解决方案: 其实JSON.str ...

最新文章

  1. 【C++】拷贝控制与资源管理
  2. 构建之法阅读笔记01
  3. java 中的jframe_【后端开发】java中JFrame是什么
  4. SM30需要传输请求
  5. Entity Framework 6 Recipes 2nd Edition(12-1)译 - 当SaveChanges( ) 被调用时执行你的代码...
  6. 大一python考试知识点_Python基础知识点(精心整理)
  7. 关于iptables封禁国外ip的方法
  8. sql2016/2017 卸载安装
  9. java删除文件夹的方法
  10. DVWA——SQL盲注(全等级)
  11. 安装SQL Server2012报Microsoft.NET Framework4无法安装错误解决方案
  12. html关于圣诞节主题的网页,玩转圣诞创意!10个以圣诞节为主题的优秀网站设计...
  13. 煤矸石无线测温系统项目背景
  14. 读博太孤独?你不是一个人!
  15. Mac-工具-IntelliJ IDEA升级2022.1问题
  16. Java最新面试题及答案
  17. 浅谈IOC--说清楚IOC是什么
  18. win7-win11多系统VHD和VHDX安装简单攻略
  19. vue 传base64到后台后台传到oss的java实现
  20. 使用LZMA算法(转载)

热门文章

  1. 掌握这一技巧,轻松解决IBM存储硬盘故障
  2. aws 亚马逊 服务器 运行docker run报错 Got permission denied while trying to connect to the Docker daemon socket
  3. 2010年南非世界杯八强冠亚军大预测(2010年6月28日)
  4. 顺序表的插入和删除操作
  5. OGC的WebGIS相关标准
  6. 20年了啊:那年冬天
  7. Java数据结构之二分查找/插值查找/斐波那契查找
  8. 想做点培训教师了,和别人一起干吧
  9. VC 动态控制鼠标点击事件
  10. 拜托,不用记密码真的超酷好吗?