el-tree刷新数据之后保持之前的打开状态

简而言之就是利用:default-expanded-keys=“expandedList” 这个默认展开的属性
然后用expandedList 数组记录你的展开情况
在数据刷新之后,el-tree 会自动根据这个属性值的数组展开选项

话不多说,上代码:

<template>
	<el-tree
	    ref="navigationTree"
	     :default-expanded-keys="expandedList"
	     :data="treeData"
	     node-key="code"
	     draggable
	     @node-drop="dropSuccess"
	     @node-expand="nodeExpand"
	     @node-collapse="nodeCollapse"
	   >
	 </el-tree>
 </template>
 <script>
 export default{
 	data(){
 		return {
 			treeData: []
 			expandedList: [] // 作为el-tree 的默认展开选项,在 数据刷新之后el-tree 会自动根据这个数据来展开对应选项
 		}
 	},
 	methods: {
 		load(){
 			... 加载el-tree的数据treeData
 		},
	    nodeExpand(data) {
	      this.expandedList.push(data.code); // 在节点展开是添加到默认展开数组
	    },
	    nodeCollapse(data) {
	      this.expandedList.splice(this.expandedList.indexOf(data.code), 1); // 收起时删除数组里对应选项
	    },
	    dropSuccess(){
	    	this.load()
	    }
 	}
 }
 </script>

保持el-tree数据更新后保持打开之前状态,可以使用default-expanded-keys属性和一个数组来记录展开节点。在数据刷新之后el-tree会根据这个数组展开对应的选项。 在代码中,可以定义一个expandedList数组作为el-tree的默认展开选项。在load方法中加载el-tree数据treeData。在nodeExpand方法中,将展开节点的code添加到expandedList数组中。在nodeCollapse方法中,从expandedList数组中删除对应的选项。在dropSuccess方法中重新加载数据。 简而言之,利用default-expanded-keys属性和expandedList数组来记录展开情况。在数据刷新之后el-tree会根据这个数组展开选项。\[1\] 另外,还可以使用defaultExpandIds数组来记录展开节点。在handleNodeExpand方法中,判断当前节点是否存在于defaultExpandIds数组中,如果不存在则将其添加到数组中。在handleNodeCollapse方法中,删除关闭的节点,并递归删除父节点下的所有子节点。\[3\] 综上所述,可以使用default-expanded-keys属性和一个数组来记录el-tree展开状态,或者使用defaultExpandIds数组来记录展开节点。 #### 引用[.reference_title] - *1* *2* [el-tree刷新数据之后保持之前打开状态](https://blog.csdn.net/m0_49471668/article/details/121474275)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [element el-tree 刷新后保留展开状态](https://blog.csdn.net/zjx147/article/details/124291157)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值