1.0.8 • Published 4 years ago

mp-v-scroll v1.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

【小程序长列表组件】

与官方recycle-view的简单对比

  • 支持列表项非等高场景
  • 可以设置骨架效果
  • 针对聊天会话场景做了优化

接入demo

https://github.com/yusongjohn/mp-v-scroll-example

源码中demo运行

  1. yarn
  2. yarn dev 或者 yarn watch => 生成 miniprogram_dev
  3. 开发者工具导入该目录

长列表组件提供的api & 属性

属性

属性说明类型默认值
idealMode是否是理想模式即dom高度是否是同步确定的Booleantrue
groupSkeletonImg列表项占位效果图(垂直方向平铺模拟)String
groupNums屏幕的列表项数,若干列表项高度之和不应该小于容器高度Number
common父容器传递给列表项的公用数据Object
componentFlag组件唯一标识String

api

通过组件实例直接调用

api说明参数
init用于初始化列表list: Array - 初始化数据
updateRecords用于更新列表项records: Array - 更新一个或多个列表项
insertHistoryList在列表头部插入数据list: Array - 头部数据
appendNextList在列表尾部追加数据list: Array - 尾部数据
insertBeforeTargetRecord在指定列表项前面插入一定量的列表项数据list: Array - 待插入的对象数组数据,target: Object - 指定列表项
deleteRecords用于将指定列表项数据从列表中移除list: Array - 待删除的列表数据
scrollToTop将列表滚动到顶部
scrollToTarget列表滚动指定列表项位置target: Object - 指定的列表项
scrollToBottom将列表滚动到底部

事件

api说明参数
updateStyle用于更新分组样式,针对需要修复z-index的场景e: Event - 事件对象detail是样式对象,可以选键有:history-wrapper、next-wrapper, ${_chatGroupId} ${key}

提供的抽象节点

  • list-item
  • load-more

slots

只有normal-scroll 才有

  • before
  • after

chat-scroll & normal-scroll 区别

  • 后者没有 insertHistoryList 能力
  • 前者滚动到顶部的事件名称:GET_HISTORY_${componentFlag} 后者: SCROLL_BOTTOM_${componentFlag}

注意事项(最佳事件)

  • 利用 getApp().globalEvent 发布订阅 (会自动检测是否挂载,没有则使用组件默认实现),需要注意的是emitEventEx需要接受回调返回的结果
  • 最佳实践应该是(针对图片场景):根据每个图片的特征固定好的高度:比如在医患会话场景中,用户上传图片的时候就记录好图片的高宽比以及原始高度等信息,在显示的时候用css显示设置高度。
  • 如果长列表组件有重新挂载的场景,目前由于reset方法只会清理数据,队友渲染层的wxs文件中的信息未做清理,因此如果有重新挂载场景则可以先卸载再挂载组件

微信小程序第三方组件的开发和发布以及使用

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.2

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago