vue+Element表單驗證之滾動條定位到校驗未通過的表單控件的位置


需求:提交表單時,頁面定位到第一個校驗失敗的位置

代碼示例:

   // 點擊提交按鈕
  clickToAdd(state) {
    // elementUI的form表單校驗:
    
this.$refs.form.validate((valid) => {
      
if (valid) {   this.$emit('clickToAdd', false, this.form, state) // 如果校驗通過,在父組件調用接口   } else {   // 滾動條定位到第一個校驗失敗的div的位置   this.needLocateToErr && this.locateToErr()   return false } }) }

關鍵:

    // 滾動條定位到第一個校驗失敗的div的位置
    locateToErr() {
      setTimeout(() => {
        const errorDiv = document.getElementsByClassName('is-error')
        errorDiv[0].scrollIntoView()
      }, 0)
    },

因為是在后期提出:需要定位到第一個校驗失敗的位置的需求,這時候已經有很多頁面了。一頁一頁去修改工程比較浩大,所以借用了elementUI校驗失敗的時候自帶的class:is-error;以求做出較小的修改完成需求;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM