解决聊天页下拉加载历史记录,新获取的历史记录把刚看的信息挤下去的问题

568 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

当做聊天页时会遇到下拉加载历史记录,当我们获取历史记录并将其放进页面数组时,新获取的历史记录会将你刚刚看的信息挤下去,这时你要往上拉才能回到你刚刚看的信息。

虽然可以通过获取刚看的那条信息的位置,等历史记录拉取下来后再通过改变滚动条回到其原来的位置,但这样会让页面出现闪动,信息会先下去,然后再上来。

最近找到一个更好的方法,不会出现闪动效果,这就是css3的一个属性“overflow-anchor”,俗称“滚动锚定”。

该属性好像不能在scroll-view里实现,不太清楚,都可以试试

滚动锚定可以防止“跳跃”体验,因为在当前位置上方的DOM中发生变化时,锁定用户在页面上的位置。这允许用户在页面上停留的位置,即使新元素被加载到DOM中。