el-tree节点模拟双击事件

需求描述

el-tree组件节点默认展开,单击节点不会触发伸缩,双击节点获取当前节点的数据。

问题解决

  • el-tree 默认展开并设置阻止单击节点自动展开或收缩
<el-tree default-expand-all :expand-on-click-node="false" @node-click="handleNode">
  • 添加双击事件
const n = {
	count: 0,
	prev: null,
	timer: null
}

// 双击
const dbClicks = (node, id, cb) => {
  n.count++
  
  if ((n.prev === node[id]) && n.count >= 2) {
    cb()
  }

  n.prev = node[id]
  n.timer = setTimeout(_ => {
    n.count = 0
    n.prev = null
  }, 300)
}
  • 使用
handleNode(node) {
    dbClicks(node, 'id', () => {
        // do sth
    })
}
posted @ 2022-06-10 18:52  小方块的世界  阅读(2095)  评论(0编辑  收藏  举报