vue路由切换时内容组件的滚动条回到顶部

举报
达拉崩巴斑得贝迪卜多 发表于 2021/12/20 23:16:38 2021/12/20
【摘要】 情景描述 1.页面 /a, 有输入框, 当输入框输入合适的值的时候, 不隐藏软键盘, 点击相应按钮直接跳到 /b 2.页面 /b, 页面本来内容很少, 没有滚动条的, 可是莫名的被下方的灰色区域顶到可视...

情景描述

1.页面 /a, 有输入框, 当输入框输入合适的值的时候, 不隐藏软键盘, 点击相应按钮直接跳到 /b
2.页面 /b, 页面本来内容很少, 没有滚动条的, 可是莫名的被下方的灰色区域顶到可视区上面, 内容被隐藏了一点, 但是手动拉回正常展示以后, 问题就不再重现

解决办法(针对单个页面这个问题的)

// 在/b页面, vue的mounted方法中, 写设置页面滚动条的这个方法
mounted() {
 // 切换页面时滚动条自动滚动到顶部
    window.scrollTo(0,0);
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

针对全部页面的话, 可以在路由的钩子函数中设置(main.js中)

// 放在`router.beforeEach`更好
router.afterEach((to,from,next) => {
  window.scrollTo(0,0);
  // 或
  // window.scroll(0, 0);
});

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
router.afterEach(() => {
  document.body.scrollTop = 0;
  document.documentElement.scrollTop = 0;
})

  
 
  • 1
  • 2
  • 3
  • 4

文章来源: lvsige.blog.csdn.net,作者:祥子的小迷妹,版权归原作者所有,如需转载,请联系作者。

原文链接:lvsige.blog.csdn.net/article/details/108365511

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。