el-form-item 校验问题

在Vue使用el-form-item时,若校验元素非标准输入框,值改变后不会触发重新校验。问题源于自定义组件未触发'el.form.change'事件。解决方法是在组件上为el-form-item添加ref,监听值变化,手动触发'el.form.change'事件以实现校验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

el-form-item校验问题

场景

表单中,有的校验元素不是标准的输入框,如:

这种场景下,el-form-item上prop指定的值已经变化后,不会触发重新校验,导致选中之后,错误信息不消失

原因

跟踪el的源码,发现原因是,el自己的表单输入元素在值改变后,会触动去触发上层的el-form-item组件的 ‘el.form.change’事件,el-from-item接收到此事件后,会重新校验,而自定义的输入组件改变值之后,并不会触发el-form-item上的‘el.form.change’事件,导致不会重新校验

解决方法

对需要特殊输入组件的绑定值,进行watch,监听到变化后,用代码去触发上层el-form-item的‘el.form.change'事件

  1. 在组件上为el-from-item添加ref
<el-form-item label="选择征信报告" prop="creditReportId" v-if="!infoDisabled" ref="creditReportItem">
          <el-button
            v-show=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值