Taro的scrollView组件在同级节点更新的时候滚动条会重新回到顶部的问题

1,089 阅读1分钟

最近在开发一个通讯系统的时候发现了一个Taro的ScrollView上存在的bug。关于ScrollView组件在同级节点被改变的时候,滚动条会重新回到顶部的问题。

排查后确定是组件被重新创建了。但是尽管加了key。组件依然会被重新创建。但是把ScrollView换成View加上overflow:"scroll"模拟同样的问题,嘿。就没事。

image.png

先说解决方案:在被更改的节点外层加上Block标签即可解决问题。
当然其他元素可以,比如View,反正不要让ScrollView的同级节点更新就行。

bug模拟(注意ScrollView视图)

动画.gif

bug代码

image.png

修改后的代码

image.png

修改后的demo模拟

动画1.gif

image.png

欢迎技术沟通,摸鱼聊天~

备注来自掘金~

wx:XXF1096032096