el-cascader级联选择器遇到的两个bug

1.子级没有数据时,选择器依旧显示下一级如图:

在这里插入图片描述

解决方案:递归转化子级空数据为undefined

后端返回数据格式:
在这里插入图片描述
但是我们并不知道有几级数据,可以用递归进行遍历,只要是空数据就转化成undefined

handleFilterAreaRouteList(data) {
      data.forEach((item) => {
        if (item.children.length === 0) {
          item.children = undefined;
        } else {
          this.handleFilterAreaRouteList(item.children);
        }
      });
      return data;
    }

这样就ok了
在这里插入图片描述

2.模式为单选选择任意一级组件,选择时双击两次才显示被选中

解决方案:去除v-model

文档上并没有说明级联选择器能使用v-model进行双向绑定,最好的方式就是加上change事件并绑定value属性:

 <el-cascader
   :value="queryParams.areaRoute"
   placeholder="请选择"
   :options="areaRouteList"
   :props="{ checkStrictly: true }"
  @change="handleAreaRouteChange"
></el-cascader>

handleAreaRouteChange(val) {
      let areaRoute = "";
      val.forEach((item) => {
        areaRoute = `${areaRoute}/${item}`;
      });
      const index = areaRoute.indexOf("/");
      areaRoute = areaRoute.substring(index + 1);
      this.queryParams.areaRoute = areaRoute;
    },
  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值