项目场景:
普通的头部固定,中间滑动的布局,中间内容有表单,提交校验不通过时滚动到第一个错误项
问题描述
elementuiplus的scroll-to-error设置之后是局部滚动 当头部内容层级高于中间表单的时候,错误会被遮挡。
---
# 原因分析:
> 错误被遮挡的原因 ,scroll-to-error是局部滚动,头部内容层级高时,会被遮住
---
# 解决方案:
## **scrollIntoView**
通过找到错误节点并指定滚动到错误节点****
```javascript
nextTick(() => {
let isError = document.getElementsByClassName('is-error')
isError[0].scrollIntoView({
// 滚动到指定节点
// 值有start,center,end,nearest,当前显示在视图区域中间
block: 'center',
// 值有auto、instant,smooth,缓动动画(当前是慢速的)
behavior: 'smooth',
})
})
总结:正确的思想指导正确的行动 分析问题背后的原因,再采取正确的方式解决