vue element表单验证为空时自动定位到对应位置
方法一:
submitAuthForm(formName) {
this.$refs[formName].validate((valid, invalidFields) => {
if (valid) {
console.log("执行方法")
} else {
for (let obj in invalidFields) {
this.$refs[obj].focus();
break;
}
return false;
}
})
}
方法二:
this.$refs[formName].validate((valid) => { if (valid) { } else { setTimeout(() => { var isError = document.getElementsByClassName("is-error"); if (isError[0].querySelector('input')) { isError[0].querySelector('input').focus(); } else if (isError[0].querySelector('textarea')) { isError[0].querySelector('textarea').focus(); } }, 1) return false; } })
方法三:
setTimeout(() => { if (document.querySelector('.el-form-item__error')) { // eslint-disable-next-line no-unused-expressions document.querySelectorAll('.el-form-item__error')[0] ?.parentNode?.scrollIntoView({ block: 'start', behavior: 'smooth' }) } }, 1)