You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Chrome桌面端页面滚动到顶部代码失效问题求助

路由切换时页面滚动到顶部失效问题求助

最近碰到个头疼的问题——原本用来在路由切换时滚动到页面顶部的代码突然失效了!我排查后确认componentDidUpdate函数确实被调用了,但就是找不到为啥window.scrollTo(0, 0)不起作用。

我的相关代码如下:

componentDidUpdate (prevProps) { 
  if (prevProps.location !== this.props.location) { 
    window.scrollTo(0, 0) 
  } 
}

补充背景:我使用了路由,当路径变化时这个函数会被触发

我在网上找了各种解决方案,试过用window.setTimeout包裹滚动代码但没成功,也尝试过直接设置滚动距离:

document.body.scrollTop = 0 
document.documentElement.scrollTop = 0

但问题依旧存在。更奇怪的是,这段代码在移动端(Android Chrome、iOS Safari等浏览器)还能正常工作,只有桌面端Chrome(版本74.0.3729.131)出现失效的情况,现在完全摸不着头绪,希望能得到大家的帮助!

内容的提问来源于stack exchange,提问作者SamuelRousseaux

火山引擎 最新活动