修改前,因为重复渲染DOM导致绑定rules失效
修改前代码使用 computed 计算出渲染的DOM,影响rules事件<el-formref="form"inline:model="billDetailCopy":rules="rules"size="small"label-position="right"label-width="110px"class="addInvoice-content-input"><el-row><el-form-item v-for="(item,index) in filter(ordinaryList)" :key="index" :prop="item.key" :label="item.label" ><el-form-item/><el-form/>
修改后,将切换的DOM使用v-show都渲染在页面,不会让rules错乱。
修改后各渲染各的
<el-formv-show="billDetailCopy.type === '增值税普通发票'"ref="form1"inline:model="billDetailCopy":rules="rules"size="small"label-position="right"label-width="110px"class="addInvoice-content-input"><el-row><el-form-item v-for="(item,index) in ordinaryList" :key="index" :prop="item.key" :label="item.label" ><el-form-item/><el-form/>
form 中绑定的 rules 跟两个元素有关,才能触发rules绑定的每一个事件
1、 <el-form-item 绑定的 prop=“aaa” 在 rules中
2、v-model=“aaa” 绑定的 aaa 在 rules 中
参考链接