[英]How to set the scroll to top after navigating from one page to other in quasar
[英]ScrollPosition is not set to top when navigating to other pages
web 页面采用主从方式设计。 主页面有选项卡(左窗格),单击这些选项卡会在从页面(右窗格)中显示相应的页面。 例如。 master 有三个两个选项卡“体系结构和模板”,其中默认显示体系结构。 用户可以使用左窗格中的选项卡(由 master 加载)在这两个页面(由 slave 加载)之间导航。
现在,当用户滚动到架构页面中的某个 position 并导航到模板页面时,滚动 position 未设置为顶部。 但是,滚动行为是在路由器文件中设置的。
const createRouter = () =>
new VueRouter({
scrollBehavior: () => ({ x: 0, y: 0 }),
routes:[
//has all the routes
]
});
当在 scrollBehavior 附近设置断点并观察时,只要有导航,就会命中该行,但在从体系结构导航到模板页面时,滚动位置未设置为顶部。
但是,当滚动到模板页面中的某个 position 并导航到体系结构页面时,该页面设置为顶部。
还尝试编写 window.scrollTo(0, 0); function 在 templates.ts 的 mounted() 中。 即使被击中,但页面未设置为顶部。
有人可以解释为什么会这样。 我几乎尝试了 stackoverflow 中列出的所有可能的解决方案。
我在vue中也有这个问题。 如果你想在顶部滚动,你需要使用这个 hack。 而不是window.scrollTo(0, 0);
在超时时间很短的 setTimeout 中使用它。
settimeout(()=>{ window.scrollTo(0, 0); }, 10)
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.