Angular 在 IOS 的webview 里 使用scrollToView 视图未更新

新手上路,请多包涵

在手机 app 的 webview 里, 我们有一个业务需求是: 点击tabs 然后使 div 滚动到底部和顶部

业务需求:
点击tab(不同tab 对应不同 dom ) => 内容盒子滚动 => 滚动到 指定 dom 元素的位置

出问题的代码:

document.querySelector(dom).scrollIntoView()

组件情况:
changeDetection 为 OnPush 策略。
父组件也为 OnPush 策略

预期结果
能正常的滚动到 div 里 dom元素的位置

实际结果:
Android没有问题,IOS页面滚动了, 但是没有任何内容,但是点击一下就能显示内容.

已经做过的措施
在代码之后已经加了 this.changeDetectorRef.markForCheck()与detectChanges()。 无效
(甚至一开始就加了定时器 每500ms 执行这两句代码)

this.zone.run(()=> {document.querySelector(dom).scrollIntoView()
}) 无效

把代码换成 dom.scrollTo() 这种形式, 也无效。

困扰一天了啊, 不知道怎么解决这个东西,请问有大佬们遇到过这样的问题吗

阅读 1.6k
1 个回答
setTimeout(()=>{
  window.scrollTo(0, 0);
},500)

试试这样回到顶部