vue中切换页面时让目标页面的滚动条自动滚动到顶部的方法

vue中切换页面时让目标页面的滚动条自动滚动到顶部的方法

    • 情景描述
    • 解决办法(针对单个页面这个问题的)
    • 针对全部页面的话, 可以在路由的钩子函数中设置(main.js中)

情景描述

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

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

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

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

// 这个方法我没有亲测, 是查网上资料的, 不过我觉得, 放在`router.beforeEach`更好
router.afterEach((to,from,next) => {
  window.scrollTo(0,0);
  // 或
  // window.scroll(0, 0);
});

你可能感兴趣的:(vue)