欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Element?UI表單驗證規(guī)則動態(tài)失效問題的解決辦法

 更新時間:2023年09月30日 09:30:17   作者:程皮  
這篇文章主要給大家介紹了關于Element?UI表單驗證規(guī)則動態(tài)失效問題的解決辦法,Element UI提供了強大的表單驗證功能,可以輕松地對表單進行驗證,需要的朋友可以參考下

Element 版本:v2.15.3

問題背景

如下代碼所示:有一個上傳文件的 input 組件,在更新的時候,如果不上傳文件表示不更新,如果要更新則點擊 「重新上傳」按鈕將上傳組件顯示出來

<el-form ref="form" :model="form" :rules="rules" label-width="80px">
  <!-- 這個字段不是必須的沒有寫 prop -->
  <el-form-item v-if="!updateDocument" label="文檔">
    <el-button @click="updateDocument = true">重新上傳</el-button>
    <base-tips margin-left="15px">如需變更請重新上傳文檔</base-tips>
  </el-form-item>
  <!-- 要更新的話:這個字段要求必須,寫 prop  -->
  <el-form-item v-if="updateDocument" label="文檔" prop="document">
    <input
           :accept="supportFilesType"
           ref="documentFile" type="file" @change="documentFileChange"/>
  </el-form-item>
</el-form>

也就是如上圖:不更新的話,該字段不是必須的,提交的時候就不會被校驗,如果更新的話,就要讓這個字段為必填項。

上述代碼:從頁面上看是正常的,有前面那個紅色的 * 號,但是在提交的時候,并沒有觸發(fā)驗證。

解決方案

首先:查看表單組件的信息,最終在 Field 這個屬性下發(fā)現(xiàn)了問題

console.log(this.$refs.form)
  1. 進入頁面的時候,F(xiàn)ield 中顯示的字段數(shù)量不包含 document,因為進入頁面默認是不更新
  2. 切換到更新狀態(tài),F(xiàn)ield 中的字段數(shù)量并沒有變更,那么問題就出現(xiàn)在這里了

這種情況的最主要原因是:表單組件沒有觸發(fā)重新渲染,解決方案靠譜的有:

  1. 在 el-form-item 上增加 key 屬性,也就是 vue 中的 key
  2. 在 el-form-item 上手動寫上指定的,rules
<!-- 寫上 prop,并且手動指定 rules,由于需要不校驗該字段,設置一個規(guī)則 required:false  -->
<el-form-item v-if="!updateDocument" label="文檔" prop="document" :rules="[{required:false}]">
  <el-button @click="updateDocument = true">重新上傳</el-button>
  <base-tips margin-left="15px">如需變更合同請重新上傳文檔</base-tips>
</el-form-item>
<!-- 寫上 prop,由于需要驗證該字段,直接指向原來的 rules 中的規(guī)則-->
<el-form-item v-if="updateDocument" label="文檔" prop="document" :rules="rules.document">
  <input
         :accept="supportFilesType"
         ref="documentFile" type="file" @change="documentFileChange"/>
</el-form-item>

總結 

到此這篇關于Element UI表單驗證規(guī)則動態(tài)失效問題解決的文章就介紹到這了,更多相關ElementUI表單驗證規(guī)則動態(tài)失效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue實現(xiàn)紅包雨小游戲的示例代碼

    Vue實現(xiàn)紅包雨小游戲的示例代碼

    紅包也叫壓歲錢,是過農(nóng)歷春節(jié)時長輩給小孩兒用紅紙包裹的禮金。本文將通過Vue制作一個紅包雨小游戲,文中的示例代碼講解詳細,需要的可以參考一下
    2022-01-01
  • Vue列表渲染的示例代碼

    Vue列表渲染的示例代碼

    這篇文章主要介紹了Vue列表渲染的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • vue-cli在 history模式下的配置詳解

    vue-cli在 history模式下的配置詳解

    這篇文章主要介紹了vue-cli在 history模式下的配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • VUE中data配置項詳細解析

    VUE中data配置項詳細解析

    data屬性是Vue實例的數(shù)據(jù)對象,可以綁定的是對象或者是函數(shù),下面這篇文章主要給大家介紹了關于VUE中data配置項詳細解析的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • element-ui中使用upload組件獲取上傳文件信息

    element-ui中使用upload組件獲取上傳文件信息

    這篇文章主要介紹了element-ui中使用upload組件獲取上傳文件信息方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • vue-cli如何引入bootstrap工具的方法

    vue-cli如何引入bootstrap工具的方法

    本篇文章主要介紹了vue-cli如何引入bootstrap工具的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 輕量級富文本編輯器wangEditor結合vue使用方法示例

    輕量級富文本編輯器wangEditor結合vue使用方法示例

    在我們項目中,有些時候需要使用富文本編輯器。本文將以百度開發(fā)的Ueditor結合Vue.js介紹一下。非常具有實用價值,需要的朋友可以參考下
    2018-10-10
  • Vue生態(tài)系統(tǒng)工具庫Vueuse的使用示例詳解

    Vue生態(tài)系統(tǒng)工具庫Vueuse的使用示例詳解

    Vueuse 是一個功能強大的 Vue.js 生態(tài)系統(tǒng)工具庫,它提供了一系列的可重用的 Vue 組件和函數(shù),本文將介紹 Vueuse 的主要特點和用法,以及它在 Vue.js 開發(fā)中的作用和優(yōu)勢,感興趣的可以了解下
    2024-02-02
  • vue中el-message的封裝使用

    vue中el-message的封裝使用

    本文主要介紹了vue中el-message的封裝使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 在uni-app中使用vant組件的方法

    在uni-app中使用vant組件的方法

    最近在做uni-app的時候需要用到vant組件,在網(wǎng)上看到了很多的使用vant組件的方法,但是講解的大多繁瑣,或者無法使用,現(xiàn)把最新,最實用的vant組件的使用方法分享給大家,需要的朋友可以參考下
    2023-02-02

最新評論