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 // 跳出循环了
    }
}
原文地址:https://www.cnblogs.com/Hhuizi/p/13256198.html