v-if 導(dǎo)致 elementui 表單校驗(yàn)失效問(wèn)題解決方案
問(wèn)題
在使用 elementui 表單的過(guò)程中,某些表單項(xiàng)需要通過(guò) v-if 來(lái)判斷是否展示,但是這些表單項(xiàng)出現(xiàn)了檢驗(yàn)失效的問(wèn)題。
解決方法
1、給需要 v-if 判斷的表單項(xiàng)添加 key 值
<el-form ref="form" :model="form"> <el-form-item :key="0" v-if="hasItem" label="名稱" prop="type"> <el-input v-model="form.name"></el-input> </el-form-item> <el-form-item :key="1" v-if="hasItem" label="類型" prop="type"> <el-input v-model="form.type"></el-input> </el-form-item> </el-form>
2、將校驗(yàn)規(guī)則直接綁定在 el-form-item 上
<el-form ref="form" :model="form"> <el-form-item :rules="{required: true, message:'請(qǐng)輸入名稱', trigger: 'change'}" v-if="hasItem" label="名稱" prop="name"> <el-input v-model="form.name"></el-input> </el-form-item> <el-form-item :rules="{required: true, message:'請(qǐng)輸入類型', trigger: 'change'}" v-if="hasItem" label="類型" prop="type"> <el-input v-model="form.type"></el-input> </el-form-item> </el-form>
3、v-show 代替 v-if
這種方法存在一個(gè)問(wèn)題,就是如果 v-if 判斷的表單項(xiàng)中如果存在相同字段的項(xiàng)就會(huì)導(dǎo)致重復(fù)校驗(yàn)的問(wèn)題,所以這種方法需要在判斷的表單項(xiàng)字段都不相同的情況下使用。
<el-form ref="form" :model="form"> <el-form-item v-show="hasItem" label="名稱" prop="name"> <el-input v-model="form.name"></el-input> </el-form-item> <el-form-item v-show="hasItem" label="類型" prop="type"> <el-input v-model="form.type"></el-input> </el-form-item> </el-form>
4、使用自定義校驗(yàn)規(guī)則
<el-form ref="form" :model="form"> <el-form-item :key="0" v-if="hasItem" label="名稱" prop="name"> <el-input v-model="form.name"></el-input> </el-form-item> <el-form-item :key="1" v-if="hasItem" label="類型" prop="type"> <el-input v-model="form.type"></el-input> </el-form-item> </el-form>
const checkName = (rule, value, callback) => { if (!value) { return callback(new Error('名稱不能為空')); } } data(){ return{ rules: { name: [ { validator: checkName , trigger: 'change' } ], } } }
到此這篇關(guān)于v-if 導(dǎo)致 elementui 表單校驗(yàn)失效問(wèn)題解決的文章就介紹到這了,更多相關(guān)elementui 表單校驗(yàn)失效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Vue-draggable組件實(shí)現(xiàn)Vue項(xiàng)目中表格內(nèi)容的拖拽排序
這篇文章主要介紹了利用Vue-draggable組件實(shí)現(xiàn)Vue項(xiàng)目中表格內(nèi)容的拖拽排序,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06antv完成區(qū)間柱形圖一列多柱配置實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了antv完成區(qū)間柱形圖一列多柱配置實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Vue中v-show添加表達(dá)式的問(wèn)題(判斷是否顯示)
這篇文章主要介紹了關(guān)于Vue中v-show中添加表達(dá)式用于判斷是否顯示的問(wèn)題,很多朋友經(jīng)常會(huì)遇到這樣的需求,有數(shù)據(jù)來(lái)源和標(biāo)簽類型兩行選項(xiàng),需要實(shí)現(xiàn)點(diǎn)擊上面的某個(gè)數(shù)據(jù)來(lái)源時(shí),標(biāo)簽類型自動(dòng)切換功能,感興趣的朋友一起看看吧2018-03-03vuejs 制作背景淡入淡出切換動(dòng)畫的實(shí)例
今天小編就為大家分享一篇vuejs 制作背景淡入淡出切換動(dòng)畫的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09vue3?ts編寫echart是tooltip無(wú)法展示的解決
這篇文章主要介紹了vue3?ts編寫echart是tooltip無(wú)法展示的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10解決vue props傳Array/Object類型值,子組件報(bào)錯(cuò)的情況
這篇文章主要介紹了解決vue props傳Array/Object類型值,子組件報(bào)錯(cuò)的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11