在我的 React 应用程序中,用户会看到一个可水平滚动的列表,并且可以向左/向右滚动以加载更多数据。
当用户一直向左滚动时,我会加载更多数据并将其附加到列表的开头。这工作正常,除了滚动位置似乎被重置为 0。
为了解决这个问题,我在将新数据添加到我的列表之后恢复了滚动位置。这在 Android 上运行良好,但在 IOS 上不起作用。
在 IOS 上,我的 DIV 的 scrollLeft 位置在渲染后仍然重置为 0,即使我在渲染后恢复滚动位置。奇怪的是,只有在渲染发生时用户仍在滚动时才会发生这种情况。
因此,似乎在 IOS Safari 上,设置 div 的 scrollLeft / scrollTop 位置仅在用户当前未滚动该 div 时才有效。
有没有人见过这个,也许知道一个解决方法?