el-cascader点击任意一级的label,并将菜单收起

前言:需要一个级联菜单,点击任意一级就可以进行查询,然后级联菜单收起

根据element文档将checkStrictly设置为true就可以了:

可是问题又来了:1>以下级联菜单只能点击单选框生效   2>级联菜单选中后不消失,只能点击空白处才会消失

而我不需要单选框的出现,点击label直接选中,然后级联菜单消失

方法一:

选中让级联菜单收起:设置每次监听值变化的时候,把 dropDownVisible 属性设置为 false 即可(每次级联菜单的值有变化,就把级联菜单收起)

 watch: {
    handlerValue() {
      if (this.$refs.refHandle) {
        this.$refs.refHandle.dropDownVisible = false; //监听值发生变化就关闭它
      }
    }
  },

点击label选中:点击文本就让它自动点击前面的input就可以触发选择。

mounted() {
    setInterval(function() {
      document.querySelectorAll(".el-cascader-node__label").forEach(el => {
        el.onclick = function() {
          if (this.previousElementSibling) this.previousElementSibling.click();
        };
      });
    }, 1000);
  },

方法一虽然把问题解决了,但是比较消耗性能

方法二:

级联菜单页面上把点击方法暴露出来

点击把值赋给originValue,并让菜单收起

这样问题就解决了

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值