ElementUI级联选择器择任意项的两个缺陷,我不说,你也不知道吧

28 篇文章 0 订阅
6 篇文章 0 订阅
1.ElementUI官网级Cascader 级联选择器

在这里插入图片描述

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

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

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

2.以下就是我的解决办法
<el-cascader
  // 一定要加ref属性稍后解决第二个问题
  ref="refHandle"
  v-model="uploadFileValue"
  :options="options"
  placeholder="试试搜索:我的上传"
  filterable
  clearable
  :props="defaultParams"
  style="width:100%;"
  @change="handleChange">
</el-cascader>
defaultParams: {
  label: 'name', // 键名
  value: 'id', // 键值
  children: 'sonNodeList', // 子节点
  expandTrigger: 'hover', // 悬浮触发子节点所在DIV
  checkStrictly: true, // 任选一级
 },

其中,前三个根据自己后端返回的字段自行配置即可,第四个属性可根据需求悬浮触发或者点击触发

第一个问题的解决方法
mounted() {
	//点击文本就让它自动点击前面的input就可以触发选择。但是因组件阻止了冒泡,暂时想不到好方法来触发。
	//这种比较耗性能,暂时想不到其他的,能实现效果了。
    setInterval(function() {
      document.querySelectorAll(".el-cascader-node__label").forEach(el => {
        el.onclick = function() {
          if (this.previousElementSibling) this.previousElementSibling.click();
        };
      });
    }, 1000);
  },
第二个问题的解决方法
// 上传文件结构下拉选中事件
handleChange(value){
 this.folderId = value[value.length-1]
   if (this.$refs.refHandle) {
      this.$refs.refHandle.dropDownVisible = false; //监听值发生变化就关闭它
   }
},
Result

在这里插入图片描述

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端大斗师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值