[英]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.