项目场景:
项目需求:用户通过选择”通过“或”未通过“,来动态切换需要验证的表单项
例如:项目场景:示例:通过时,只需要校验结果和审批时间选项,不通过时,需要校验结果,审批时间,最终得分,开始时间,结束时间等等
问题描述:
提示:这里描述项目中遇到的问题:
动态切换通过未通过,除结果和审批时间之外,其余校验项没有起作用
以下代码editForm.pass
动态切换值,prop验证失效
<el-form-item label="开始日期" :prop="editForm.pass === true ? 'creditDate' : ''">
<el-date-picker
type="date"
placeholder="开始日期"
v-model="editForm.creditDate"
value-format="yyyy-MM-dd"
style="width: 100%;"
:picker-options='pickerOptionsBefore'
></el-date-picker>
</el-form-item>
解决方法:
原因分析:
原因暂时不明
解决方案:
<el-form-item label="开始日期" :prop="editForm.pass === true ? 'creditDate' : 'todo'"> //todo 可以为任意字符串
<el-date-picker
type="date"
placeholder="开始日期"
v-model="editForm.creditDate"
value-format="yyyy-MM-dd"
style="width: 100%;"
:picker-options='pickerOptionsBefore'
></el-date-picker>
</el-form-item>
element表单的一个小bug,在动态使用自定义校验规则时,若prop的值没有值,则校验不会触发,prop一定要有值才可以。