vue 树形菜单 右击自定义菜单 问题

问题1:自定义菜单定位问题

   解决方法:

  

 rightBtn(item, index) {
      let menu = document.getElementById("msgRightMenu");
      var e = e || window.event;
      var marginWidths = 400;
      var marginHeight = 110;

      //鼠标点的坐标
      var oX = e.clientX - marginWidths;
      var oY = e.clientY - marginHeight;
      if (oX > 423) {
        oX = 423;
      }
      //菜单出现后的位置
      menu.style.display = "block";
      menu.style.left = oX + 130 + "px";
      menu.style.top = oY - 50 + "px";
      document.onclick = function() {
        document.getElementById("msgRightMenu").style.display = "none";
      };

      //阻止浏览器默认事件
      return false; //一般点击右键会出现浏览器默认的右键菜单,写了这句代码就可以阻止该默认事件
    }

定义位置 从新放置 自定义菜单的位置

问题二:大问题

 作为运用递归做的树 this.$emit() 只能触发一级菜单  二级菜单触发不了,,所以考虑到是父节点变了具体操作如下:

  点击到二级或者三级菜单时  如何将点击的菜单属性 传给父组件

一级菜单那传递时用 this.$emit("自定义方法",参数)

 二级菜单传递时用  this.$parent.$emit("自定义方法",参数)

三级菜单 传递时用 this.$parent.$parent.$emit('自定义方法',参数)

。。。。。

扫描二维码关注公众号,回复: 6173190 查看本文章

好笨好笨

解决方法:

 var parent=this;
      for(var i=1;i<item.id.length;i++){
        var that;
       that=parent.$parent;
       that.$emit('getSubMenu',menuname);
       parent=parent.$parent;
      }
      this.$emit('getSubMenu',menuname);

好啦  就这些啦   撒花

具体代码:见下一篇文章:https://blog.csdn.net/weixin_41472431/article/details/89790797

猜你喜欢

转载自blog.csdn.net/weixin_41472431/article/details/89790949
今日推荐