小程序之 - scroll-view使用心得

一.背景

IM即时通讯,通过MQTT发送和接收消息

二.场景

  • 首次进入聊天界面时,滑动到最底部
  • 下拉加载历史数据,滚动到新获得数据的下一条,即无缝衔接新数据
  • 下拉到没有更多数据时,禁止再触发下拉加载
  • 点击头像查看个人信息后返回时,不触发滚动
  • 点击查看未阅读消息时,滚动到指定消息位置(后续集成)
  • 渲染性能问题:目前看ios渲染时会闪屏,下拉触发有点过于敏感

三.实现

思路

定义消息体数组,定义滚动控制对象,动态改变滚动控制对象来控制如何滚动

提示

不要过于关心实现的过程,比如我是用mp-vue的脚手架,所以在store里保存这些值,在service里连接MQTT并在on-messagecommit,最后在页面的computed获取,所以基本是按照VUE的方式在开发

//有的属性用不到,会在备注里面写删除
<scroll-view
      scroll-y
      upper-threshold="50"
      @scrolltoupper="upper"
      class="scroll-style"
      :scroll-with-animation="true"//指定滚动到某个位置的动画,暂不集成滚动到某个未读的消息(请删除)
      :scroll-into-view="messageScrollerControll.scrollIntoView ? messageScrollerControll.scrollerToBottom ? 'm'+ messages.length : 'm16' : '' ">
  <div class="message"
      :class="[item.classType == 'self' ? 'message-self' : 'message-other']"
      v-for="(item, index) in messages" 
      :id="'m'+(index+1)"//用于指定滚动到的id,不能使用纯数字
      :key="index">
  </div>
</scroll-view>

最近比较忙,后面再写

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 1,187评论 0 1
  • Vue2.0+组件库总结 UI组件 element - 饿了么出品的Vue2的web UI工具套件 Vux - 基...
    szch阅读 1,983评论 1 52
  • UI组件 element - 饿了么出品的Vue2的web UI工具套件 Vux - 基于Vue和WeUI的组件库...
    卞卞村长L阅读 1,761评论 0 8
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    35eeabfa0772阅读 3,298评论 7 12
  • 持续分享734天,2019年7月21日,张红。 在咨询互动中,sfbt咨询师持有积极、尊重、希望感的态度,不评断当...
    啊呦a7_94阅读 164评论 0 0