vue中给element树结构的节点添加单击事件,控制弹框的开启和关闭

vue中给element树结构的节点添加单击事件,控制弹框的开启和关闭

例子:

1、给树结构的叶子节点添加点击事件**@node-click=“handleNodeClick”;**

2、**点击功能控制popover弹框的开启和关闭:**弹框里面的数据是通过调后台动态获取的,如果点击叶子节点的id和上一次id是同一个,则通过弹框值visible取反来开启关闭弹框,如果当前id和上一次id不是同一个,则获取当前id的弹框对应的内容

<el-tree class="filter-tree" 
	:data="treeList" 
	:props="defaultProps" 
	default-expand-all 
	highlight-current
	:filter-node-method="filterNode"
	ref="tree" 
	@node-click="handleNodeClick">
</el-tree>
<el-popover placement="bottom"  trigger="manual" v-model="visible" popper-class="tree_2"> 
    <div class="basisInfo_">设备编码:{{staticParameterList.anticode}}</div>
</el-popover>
<script>
let treeId;
export default {
    data(){
    visible=false
    },
    methods:{
	 handleNodeClick(data,node,obj){
	 	//如果是叶子节点
		if(node.isLeaf){
			//如果点击叶子节点的id和上一次id是同一个,则通过弹框值visible取反来开启关闭弹框
			//这里要注意:开始第一次点击的时候,treeId没有值,则直接进入else里面的逻辑
			if(treeId==data.id){
				this.visible=!this.visible
			}else{
			//否则,显示当前弹框内容
				this.visible=true;
				treeId=data.id
			}
		}
	}
}
</script>
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue,我们可以自定义树节点的内容,以满足不同的需求。 首先,我们可以利用Vue的组件化特性来创建一个树节点组件。可以使用Vue的模板语法来编写组件的内容,例如使用`<template>`标签来定义树节点的样式和布局,使用`{{}}`语法插入动态数据。 接下来,可以为树节点组件定义一组属性,这些属性用于接收传入的数据,并且根据数据的不同,动态地渲染节点内容。例如,可以定义一个`label`属性用于显示节点的标题,一个`children`属性用于动态展示子节点。 除了使用属性来接收数据外,我们还可以在树节点组件定义一些自定义事件,来响应用户的交互操作。例如,可以在树节点组件定义一个`click`事件,当用户点击树节点时,触发相应的逻辑操作。 在父组件使用树节点组件时,可以根据需要传入不同的数据,例如树节点的标题和子节点数据。父组件根据实际的数据来配置树节点的内容和样式,从而实现自定义的树节点。同时,可以通过监听树节点组件的自定义事件来获取用户的操作结果,以便做出相应的处理。 总之,通过利用Vue的组件化特性和模板语法,我们可以自定义树节点的内容,并根据需求渲染不同的数据和样式。同时,通过定义自定义事件,我们可以与用户进行交互,并实现相应的逻辑操作。这样,就可以方便地构建出符合自己需求的树结构

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值