使用自定义的函数触发 el-tree 节点的 nodeClick 达到跳转目的

场景介绍:1.目前界面左边有一个树形的展示数据,其中包含分组和成员,分组包含成员

                  2.点击分组右边会出现其下所有的成员,成员后可有查看按钮,点击可查看成员详细信息

                  3.在跳转到成员信息的界面时,同时需要树形图节点状态进行改变,类似于一种双向绑定

思路: 使用 current-node-key 和当前节点的 key 绑定,然后通过 watch 对 节点 key 进行监听,一旦 key 发生变化,watch 中的 nodeKey 便会进行执行,并将当前节点设为我们希望的那个节点,最后再代码 click 这个节点,下边是例子:

el-tree 组件中需要的几个属性:

<el-tree
        ref="ownerTree"  
        node-key="id" 
    	:data="ownerTreeData"    
     	highlight-current
        current-node-key="nodeKey"    
   >

 data中添加一个变量:

data(){
    return {
        nodeKey: ''
    }
}

监听函数:

watch:{
    nodeKey(val) {
      if (val) {
        this.$nextTick(() => {
            this.$refs.tree.setCurrentKey(val);
            this.$nextTick(() => {
                document.querySelector(".is-current").firstChild.click();
            });
        });
      }
    }
}

 自定的函数,可以用于 button 来 @click,也可以其他调用,看自己需要:

methods: {
    handleDoIt(id) {
        this.nodeKey = id
    }
}

 

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值