任意层级选择、change事件和必须校验冲突-级联组件-cascader_element-ui

任意层级选择、change事件和必须校验冲突-级联组件-cascader_element-ui

目录




内容

前面博客已讲解了级联框的显示与回显问题,但是在使用中,遇到了新的问题:

1、 任意层级选择与chang事件冲突

  • 图示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BWyY1Y6v-1607431547716)(./images/2020-12-08_conflict-check-change.png)]

  • 解决方案:去掉标签上的@change事件

  • 前后代码对比,更改前:

      // 更改前
       <el-cascader
      	v-model="depts"
      	:options="list"
      	:props="deptOptions"
      	:show-all-levels="false"
      	clearable
      	placeholder="请选择父级部门"
      	@change="setDept" 
        ></el-cascader>
    // 更改后
     <el-cascader
      	v-model="depts"
      	:options="list"
      	:props="deptOptions"
      	:show-all-levels="false"
      	clearable
      	placeholder="请选择父级部门"
        ></el-cascader>
    

同时在向后端发送异步请求之前,根据业务需要封装表单对象。

2、任意层级选择与必选校验冲突

上面由于添加change事件引起冲突,但是如果我们此时需要必选校验,会引起下面的冲突

  • 图示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iYiOvO4k-1607431547721)(./images/2020-12-08_conflict-check-validate.png)]

  • 原因:我们在发送异步请求之前会先校验表单,这就需要我们在之前设置值,就需要change事件,又会引起之前的问题。

  • 解决:

    • 因为是任意层级选择,又可能没有父级,这是我们可以选择不加必选校验
    • 如果是又这种情况-必须选择2级层级或以上其中一个,那么这时候可以选择不使用级联框。又几级就用几个下拉选择框替代,这时候就需要选择当前层级时,校验上一级是否选择;上级清空时,所有下级清空;

后记

  欢迎交流,本人QQ:806797785

项目源代码地址:https://gitee.com/gaogzhen
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

gaog2zh

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

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

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

打赏作者

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

抵扣说明:

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

余额充值