el-input無法輸入的問題和表單驗證失敗問題解決
1.el-input無法輸入的問題
原因1、el-input組件沒有綁定雙向響應(yīng)式數(shù)據(jù)(v-model)
解決方案:在data中定義一個變量,然后在el-input組件中使用v-model進行雙向數(shù)據(jù)綁定,這樣子就會解決el-input組件無法輸入的問題了。
原因2、組件嵌套太深還是該組件是一個坑(具體原因不清楚,只知道解決方法)
這時,你會發(fā)現(xiàn)我們進行了雙向數(shù)據(jù)綁定了,但是el-input還是無法輸入,我們就要使用綁定input事件,然后使用$forceUpdate方法強制刷新,這樣子會解決我們el-input無法輸入問題,但是這會帶出一個新的問題,那就是表單無法進行驗證等一些問題。
解決方法的步驟
1.使用input事件,監(jiān)聽用戶輸入,如果監(jiān)聽輸入沒有問題,那與html編寫無關(guān)。2.監(jiān)聽輸入沒有問題,接下來我們就使用$forceUpdate方法強制刷新,至于表單驗證的問題,我們可以使用自定義表單驗證來解決因為使用$forceUpdate方法而導(dǎo)致的表單驗證失敗的問題。
2.表單驗證失敗的問題
表單驗證規(guī)則
表單驗證規(guī)則(如圖中的this.rules)是一個對象,你要校驗的某一個變量,對應(yīng)的是一個數(shù)組,數(shù)組中的trigger:"blur"是當用戶失去焦點時觸發(fā),required:true,表示該參數(shù)時必選的,寫入該屬性后,校驗的那個變量的表單項前會出現(xiàn)小紅星,不填則不會出現(xiàn)。
1.1.填寫required:true
1.2.不填required:true
例如:我要校驗的屬性是name時,在data中定義的校驗規(guī)則為rules:{name:[{validator:validateForm},trigger:"blur",required:true]},其中validateForm是自定義校驗函數(shù)。
自定義校驗函數(shù)
表單驗證規(guī)則失敗后,value的值不能用來作為我們的判斷依據(jù)了,因為該值不會變化,我們應(yīng)該使用model綁定的表單中的值,利用該值我們就可以自定義表單校驗了。
總結(jié)
到此這篇關(guān)于el-input無法輸入的問題和表單驗證失敗問題解決的文章就介紹到這了,更多相關(guān)el-input無法輸入和表單驗證失敗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue項目使用Websocket大文件FileReader()切片上傳實例
這篇文章主要介紹了Vue項目使用Websocket大文件FileReader()切片上傳實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10Vue中的父子組件通訊以及使用sync同步父子組件數(shù)據(jù)
這篇文章主要介紹了Vue中的父子組件通訊以及使用sync同步父子組件數(shù)據(jù),對vue感興趣的同學(xué),可以參考下2021-04-04Vue中Router路由兩種模式hash與history詳解
這篇文章主要介紹了Vue中Router路由的兩種模式,分別對hash模式與history模式作了簡要分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09公共Hooks封裝文件下載useDownloadFile實例詳解
這篇文章主要為大家介紹了公共Hooks封裝文件下載useDownloadFile實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11