uniapp聊天,上拉加载历史消息位置保持不变,消息发送回滚与消息接收回滚,以及无感加载聊天记录

<scroll-view 
style="
max-height: calc(100vh - 88rpx);
position: relative;
z-index: 3; 
transform: rotate(180deg);" 
scroll-y="true" 
@scrolltolower="chudi" //触底加载,翻转了那么底就是顶
:scroll-top="scrollTop" //回滚
@scroll="scroll" 
scroll-with-animation>
<view>
<view v-for="(item,index) in chatdetail" :key="index" style="transform: rotate(180deg);">
信息
</view>
</view>
</scroll-view>
//先将其整体翻转180deg,然后将循环的消息翻转180deg(一个view包一条消息),这样就是正常页面了
//@scroll的方法,为了回滚,消息发送或者接收到时使用goTop()
scroll(e){
				this.old.scrollTop = e.detail.scrollTop
			},
goTop(e) {
				// 解决view层不同步的问题
				this.scrollTop = this.old.scrollTop
				this.$nextTick(function() {
					this.scrollTop = 0
				});
			},
//max-height: calc(100vh - 88rpx);消息少的时候将其置顶
//消息渲染需要根据需求来进行添加,消息发送与接收使用unshift(),将信息加在首位因为我们是翻转的所以最
//下面的是最新的

  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值