tab选项切换 切换不同form表单时,validate红色样式还存在?
一、问题:
当选项radio值改变时,视图变化了,但是rules校验表单的红色边框和文字依然存在(虽然通过v-if控制表单显示)
问题代码如下(简略)
<el-radio-group v-model="viewLimit">
<el-radio :label="0">tab1</el-radio>
<el-radio :label="1">tab2</el-radio>
</el-radio-group>
<el-form v-if="viewLimit===0">
<el-form-item>
<el-input :rules="rules1"></el-input>
</el-form-item>
<el-form-item>
<el-button @click=""submit>提交</el-button>
</el-form-item>
</el-form>
<el-form v-if="viewLimit===1">
<el-form-item>
<el-input :rules="rules2"></el-input>
</el-form-item>
...
</el-form>
二、解决:
1.给el-form加不同的key
<el-form v-if="viewLimit===0" key="form1">...</el-form>
<el-form v-if="viewLimit===1" key="form2">...</el-form>
2.给form嵌套div父级
<div>
<el-form v-if="viewLimit===0">...</el-form>
</div>
<div>
<el-form v-if="viewLimit===1">...</el-form>
</div>
3.切换选项时清除校验的样式,
this.$ref.form.resetFields()
this.$ref.form.clearValidate()