这段时间一直在利用uniapp做聊天室的功能,这里分享下发送新消息,接收新消息怎么像QQ那样滚动加载。
首先我是查了一下网上的朋友,看了下大多都是使用scroll-top实现的,所以我也试了一下这个东西,确实可以实现,但是他获取dom的速度着实让人着急,而且不大适用加载历史记录,因为太慢了,我不知道网友是不是有更好的方式加载聊天记录,我这边不管怎么加载都会延迟一会,所以会跳动一下,看着让人着实难受,所以我是写了一个opacity延迟一会再显示,让人看起来舒服一点,
好了,上边纯属瞎扯,进入正题,我这里使用也是scroll-view这个组件,不过我是用是scroll-into-view锚点的方式加载历史数据,分页,发送消息以及新消息,历史数据和分页我是直接加载的没有使用动画滚动,发送和新消息使用了滚动,动画是否使用用的是 :scroll-with-animation="animation"这个鬼东西控制的,上代码。
<scroll-view id="scrollview" @scroll="chatScroll" class="chat-window" :scroll-y="true" :style="{'max-height': style.contentViewHeight + 'px'}"
:scroll-with-animation="animation&