首页 > 其他 > 详细

elementUI级联选择器可以选择任意一级选项

时间:2020-04-03 21:57:40      阅读:1069      评论:0      收藏:0      [点我收藏+]

https://element.eleme.cn/#/zh-CN/component/cascader


这个是elementui官网级联选择器的地址,其中选择任意一级选项的项目是这样的

技术分享图片

 

 

 这样的话效果是实现了,但是存在两个问题:

1、只能点击圆圈才能选中,点击文字 label 没有效果;

2、点击圆圈后理想是自动收起下拉,但这个是点击下拉框之外的地方才可以收起。

 

解决办法如下,但是原理不太清楚(很惭愧,先记录下吧)

1、点击文本就让它自动点击前面的input就可以触发选择。但是因组件阻止了冒泡,暂时想不到好方法来触发。(这种比较耗性能,暂时想不到其他的,能实现效果了。)

  mounted() {

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

2、设置每次监听值变化的时候,把 dropDownVisible 属性设置为 false 即可(在这解释下handlerValue和$refs.refHandle,handlerValue是v-model绑定的值,ref类似于获取这个元素,不止table里有ref,其他标签你都可以用ref,然后通过this.$refs.xxx来获取,这里ref=‘refHandle‘

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

 

elementUI级联选择器可以选择任意一级选项

原文:https://www.cnblogs.com/web-cuicui/p/12629079.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!