vue+Element表单验证之滚动条定位到校验未通过的表单控件的位置
Posted 几何柒期
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;以求做出较小的修改完成需求;
以上是关于vue+Element表单验证之滚动条定位到校验未通过的表单控件的位置的主要内容,如果未能解决你的问题,请参考以下文章
elemetn表单控件---未通过校验字段提交时自动定位到该字段位置