我通过导入 useRouter
使用下一个路由器来自 next/router
.
我试图找到一个解决方案,当我更改 URL 的查询时,它不会滚动到页面顶部。有什么解决办法吗?我知道 Next 中的 Link 组件具有该选项,但我需要使用 Router 组件。我的下一个版本是 10.0.5。
const router = useRouter();
const changeCurrency = (newCurrency) => {
//Do some stuff here
Router.push({
pathname: router.pathname,
query: { ...router.query, currency: newCurrency.value },
});
};
最佳答案
router.push
有一个 scroll
选项,它是 true
默认。你可以像这样关闭它:
const router = useRouter();
async function navigate(newCurrency) {
router.push({
pathname: router.pathname,
query: { ...router.query, currency: newCurrency.value },
}, undefined, { scroll: false });
}
router.push
接受大部分(如果不是全部)next/link
选项对象中的 Prop 。你可以在这里查看它们:https://nextjs.org/docs/api-reference/next/link
关于javascript - Next.js - router.push 不滚动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65902664/