vue element ui表单验证不通过,滚动到页面上第一个验证失败的输入框位置


//页面部分绑定ref
 <el-form-item ref="startUserTel" label="联系电话:" prop="startUserTel">
      <el-input v-model="basicInfo.startUserTel" placeholder="请输入" />
 </el-form-item>
//js部分
this.$refs['basicInfo'].validate((valid, object) => {
    if (valid) { // valid Boolean true||false
      // 正常处理
    } else {
      this.scrollView(object)
    }
})

// 滚动到固定地方
scrollView(object) {
    for (const i in object) {
        let dom = this.$refs[i]
        // 这里是针对遍历的情况(多个输入框),取值为数组
        if (Object.prototype.toString.call(dom) !== '[object Object]') { 
            dom = dom[0]
        }
            // 第一种方法(包含动画效果)
            dom.$el.scrollIntoView({ // 滚动到指定节点
            // 值有start,center,end,nearest,当前显示在视图区域中间
            block: 'center', 
            // 值有auto、instant,smooth,缓动动画(当前是慢速的)
            behavior: 'smooth' 
        })
        break // 跳出循环了
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM