element plus tree组件异步加载时,局部节点更新

在业务场景中,当tree组件和form组件联动时,选中tree节点后form显示详情,而更新form数据需同步到tree。由于tree使用异步加载,不能直接更新数据。一种解决方法是通过改变节点的loaded属性为false并调用expand()来触发重新加载。对于根节点和普通节点,分别设置loaded和展开操作来实现局部刷新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实际业务场景中,一个页面包含tree组件,form组件,两者是有联动的。如在tree中选择一个节点,form组件里就显示该节点的明细数据。现在的需求是,在form组件中更新了数据,如何通知tree进行更新?由于tree是异步加载节点的。所以不能通过更改tree的:data数据。参考了网上的做法(element uI ElementUI tree 异步树(懒加载)节点局部刷新 - 简书

而我用的是element plus  方法有些差异,具体如下:

let rootNode=null  
	
	const loadSysTree=(node,resolve)=>{   //tree的异步加载方法,:load=xxx
		//console.log(resolve)
		if(node.level == 0){  //表示树的根节点,存储起来后面用
			rootNode=node
		}
        ......



   const systreeref=ref(null)  //tree组件实例的引用

   //如果是根节点更新

   rootNode.loaded=false
   rootNode.expand()


   //如果是普通节点

   let pNode=systreeref.value.getNode(nodeId)
   pNode.loaded=false
   pNode.expand()

   //以上并不是完整可运行代码,只列出了关键部分  
   //  node.loaded=false    标记为还未加载数据
   //  node.expand()         展开并加载该节点的子节点

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值