v-if 導致 elementui 表單校驗失效問題解決方案
問題
在使用 elementui 表單的過程中,某些表單項需要通過 v-if 來判斷是否展示,但是這些表單項出現(xiàn)了檢驗失效的問題。
解決方法
1、給需要 v-if 判斷的表單項添加 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、將校驗規(guī)則直接綁定在 el-form-item 上
<el-form ref="form" :model="form">
<el-form-item
:rules="{required: true, message:'請輸入名稱', 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:'請輸入類型', 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
這種方法存在一個問題,就是如果 v-if 判斷的表單項中如果存在相同字段的項就會導致重復校驗的問題,所以這種方法需要在判斷的表單項字段都不相同的情況下使用。
<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、使用自定義校驗規(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' }
],
}
}
}到此這篇關于v-if 導致 elementui 表單校驗失效問題解決的文章就介紹到這了,更多相關elementui 表單校驗失效內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
談談VUE種methods watch和compute的區(qū)別和聯(lián)系
本篇文章主要介紹了談談VUE種methods watch和compute的區(qū)別和聯(lián)系,具有一定的參考價值,有興趣的可以了解一下2017-08-08
優(yōu)雅的elementUI table單元格可編輯實現(xiàn)方法詳解
這篇文章主要介紹了優(yōu)雅的elementUI table單元格可編輯實現(xiàn)方法詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
vue給input file綁定函數(shù)獲取當前上傳的對象完美實現(xiàn)方法
這篇文章主要介紹了vue給input file綁定函數(shù)獲取當前上傳的對象完美實現(xiàn)方法,需要的朋友可以參考下2017-12-12
vue實現(xiàn)點擊導航欄滾動頁面到指定位置的功能(推薦)
這篇文章主要介紹了vue實現(xiàn)點擊導航欄滾動頁面到指定位置的功能(推薦),步驟一是是通過獲取不同板塊的滾輪高度,步驟二通過編寫執(zhí)行滾動操作的函數(shù),結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-11-11
Vue事件獲取事件對象之event.currentTarget詳解
這篇文章主要介紹了Vue事件獲取事件對象之event.currentTarget,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
使用vue實現(xiàn)點擊按鈕滑出面板的實現(xiàn)代碼
這篇文章主要介紹了使用vue實現(xiàn)點擊按鈕滑出面板的實現(xiàn)代碼,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-01-01

