记录一次 element-ui Cascader 级联选择器报错问题

报错信息

在这里插入图片描述

问题总结

调试了源码找到真正的问题,watch队列中,options的监听事件比 value的监听事件快,watch的队列表示为[“options”, “value”],当修改级联的value为" "并修改options为[ ],此时监听事件的执行顺序为,先执行options的监听事件,后执行value的监听事件。

解决方案

  1. 思路:想办法重置activePath
  2. 让Cascader组件重新渲染(不推荐组件重新渲染,消耗性能)
  		key 方式 
  		v-if 方式
  1. 让activePath重置(推荐)
  ref拿到Cascader组件
    this.$refs.cascaderRef.panel.activePath = []
    this.$refs.cascaderRef.handleClear()

完整代码

  watch: {
    // 解决联级选择器报错问题:监听级联选择器v-model绑定的值,监听的时候执行下面的两行代码就解决了报错。
    "formData.productType": {
      handler(newVal) {
        this.$refs.cascaderRef.panel.activePath = [];
        this.$refs.cascaderRef.handleClear();
      },
      deep: true,
    },
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值