使用element-plus 表单验证prop属性丢失响应式
toName这个属性不需要验证,复制的时候不小心加上去了,加上去不要紧,既然丢失了响应式
<el-form-item label="接单人" :label-width="formLabelWidth" class="displayFlex" prop="toName">
<el-tag w-text="16px">{{formData.toName}}</el-tag>
</el-form-item>
正确是,去掉prop属性,响应式又回来了
<el-form-item label="接单人" :label-width="formLabelWidth" class="displayFlex">
<el-tag w-text="16px">{{formData.toName}}</el-tag>
</el-form-item>
在element-plus表单验证中,使用prop属性绑定字段名是将该字段与表单验证绑定的常用方法。如果不需要验证的字段在复制代码时误加了prop属性,可以按照以下步骤保持响应式并去掉prop属性:
在表单验证规则中单独添加该字段的校验规则。例如,将原本的rules数组中:
rules: { toName: [ { required: true, message: '请输入接收人名字', trigger: 'blur' }, { validator: validateToName, trigger: 'blur' } ], title: [ { required: true, message: '请输入标题', trigger: 'blur' }, { min: 3, max: 5, message: '长度在3到5个字符', trigger: 'blur' } ] }
修改为:
rules: {
title: [
{ required: true, message: '请输入标题', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在3到5个字符', trigger: 'blur' }
]
},
toName: [
{ validator: validateToName, trigger: 'blur' }
]
这样就可以保持响应式,并将不需要验证字段的规则移动到该字段的单独校验规则中。
很正确