最近用Vue Ant Design Tree的组件,需要进行双击事件,查看了官方文档,没有双击事件,只有选择事件@select,如果要加就需要修改源码,为了能简单快速的实现,我想到可以对单击事件进行改造,曲线的实现双击事件。

具体原理:对两次单击的时间间隔进行判断,判断两次点击时间在500ms内完成,就认为是双击事件,具体代码如下:

//记录点击次数
      this.treeClickCount++;
      //单次点击次数超过2次不作处理,直接返回,也可以拓展成多击事件
      if (this.treeClickCount >= 2) {
        return;
      }
      //计时器,计算300毫秒为单位,可自行修改
      this.timer = window.setTimeout(() => {
        if (this.treeClickCount == 1) {
          //把次数归零
          this.treeClickCount = 0;
        } else if (this.treeClickCount > 1) {

          
          //把次数归零
          this.treeClickCount = 0;
          //双击事件

        }
      }, 300);

这样就简单的实现了Tree的双击选中事件了,希望对你有所帮助!

如果其他问题或者合作,可以发邮件探讨:mxgsa@qq.com   

Logo

前往低代码交流专区

更多推荐