修改前,因為重復渲染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 中
參考鏈接