如何阻止Sapper在嵌套路线中滚动回到顶部?

时间:2019-09-26 10:52:50

标签: scroll svelte sapper

问题是我有两条路线 /istifta/istifta/edit

/istifta路径显示istiftas(问题),而/istifta/edit路径打开一个面板,用于在同一页面上编辑由于_layout.svelte文件而导致的问题。

唯一的问题是,当我从/istifta/edit访问/istifta时。它不仅打开编辑面板,而且滚动到页面顶部。如何停止这种行为?我希望在此导航上保持在相同的滚动位置。礼物很长。为了进行编辑,它应保持在相同的滚动位置。一次又一次地滚动到底部并找到ID对于用户来说过于复杂。

请解决此问题。特别是 Rich Harris (如果您正在阅读)。

3 个答案:

答案 0 :(得分:4)

我们确实应该对此进行记录,但是如果您将sapper-noscroll属性添加到<a>标签中,则会阻止该行为:

<!-- in src/routes/istifta/index.svelte -->
<a href="istifta/edit" sapper-noscroll>edit</a>

答案 1 :(得分:0)

“ sapper”:“ ^ 0.27.9”

sapper-noscroll对我不起作用

博客 blogs / index.svelte

<a sapper-noscroll href="blogs/1">Go to Blog 1</a>
<a sapper-noscroll href="blogs/2">Go to Blog 2</a>
<a sapper-noscroll href="blogs/3">Go to Blog 3</a>
<a sapper-noscroll href="blogs/4">Go to Blog 4</a>
...
...
<a sapper-noscroll href="blogs/100">Go to Blog 100</a>

blogs / [slug] .svelte

<a href="blogs">Go Back to Blogs </a>
<h1> Blog details<h1>

当我从“博客详细信息”页面返回到“博客”页面时,它仍滚动到顶部。我想念什么吗?

答案 2 :(得分:0)

现在是2020年,自Rich回答以来,情况似乎已经改变了一个字符。

sapper-noscroll对我不起作用,但是sapper:noscroll对我有用。

Sapper docs on the subject