在某些需求流程中,需要根据当前步骤显示不同的form表单数据,根据步骤修改对应的rule会出现blur验证失效的情况,只需要在el-form-item上添加key值即可。
<template>
<el-form
:model="ruleForm"
:rules="formRule"
ref="ruleForm"
class="demo-ruleForm"
>
<!-- country info -->
<div v-if="step == 1">
<el-form-item label="Country" prop="country" key="country"></el-form-item>
</div>
<!-- city info -->
<div v-if="step == 2">
<el-form-item label="City" prop="city" key="city"></el-form-item>
</div>
</el-form>
</template>
<script>
watch: {
step(val) {
if (val == "1") {
this.formRule = {
country: [{
required: true,
message: "Country cannot be empty",
trigger: "blur"
}]
}
}
if (val == "2") {
this.formRule = {
city: [{
required: true,
message: "City cannot be empty",
trigger: "blur"
}]
}
}
}
}
</script>