Refresher 下拉刷新

用于展现下拉刷新操作,将自定义内容包裹在 refresher 组件内。

使用指南

在 page.json 中引入组件

  1. {
  2. "navigationBarTitleText": "Refresher",
  3. "usingComponents": {
  4. "wux-refresher": "../../dist/refresher/index"
  5. }
  6. }

示例

  1. <wux-refresher id="wux-refresher" bind:pulling="onPulling" bind:refresh="onRefresh" bind:loadmore="onLoadmore" scrollTop="{{scrollTop}}">
  2. <view class="weui-panel weui-panel_access">
  3. <view class="weui-panel__bd">
  4. <view class="weui-media-box weui-media-box_text" wx:for="{{ items }}" wx:key="">
  5. <view class="weui-media-box__title weui-media-box__title_in-text">{{ item.title }}</view>
  6. <view class="weui-media-box__desc">{{ item.content }}</view>
  7. </view>
  8. </view>
  9. </view>
  10. </wux-refresher>
  1. import { $startWuxRefresher, $stopWuxRefresher, $stopWuxLoader } from '../../dist/index'
  2. const getList = (count = 10, step = 0) => [...new Array(count)].map((n, i) => ({ title: `Pull down ${i + step}`, content: 'Wux Weapp' }))
  3. Page({
  4. data: {
  5. items: [],
  6. count: 0,
  7. scrollTop: 0,
  8. },
  9. onLoad() {
  10. $startWuxRefresher()
  11. },
  12. onPageScroll(e) {
  13. this.setData({
  14. scrollTop: e.scrollTop
  15. })
  16. },
  17. onPulling() {
  18. console.log('onPulling')
  19. },
  20. onRefresh() {
  21. console.log('onRefresh')
  22. this.setData({ count: 10 })
  23. setTimeout(() => {
  24. this.setData({ items: getList() })
  25. $stopWuxRefresher()
  26. }, 3000)
  27. },
  28. onLoadmore() {
  29. console.log('onLoadmore')
  30. setTimeout(() => {
  31. this.setData({
  32. items: [...this.data.items, ...getList(10, this.data.count)],
  33. count: this.data.count + 10,
  34. })
  35. if (this.data.items.length < 30) {
  36. $stopWuxLoader()
  37. } else {
  38. console.log('没有更多数据')
  39. $stopWuxLoader('#wux-refresher', this, true)
  40. }
  41. }, 3000)
  42. }
  43. })

视频演示

Refresher

API

Refresher props

参数 类型 描述 默认值
prefixCls string 自定义类名前缀 wux-refresher
pullingIcon string 下拉时图标 -
pullingText string 下拉时文字描述 下拉刷新
refreshingIcon string 刷新时图标 -
refreshingText string 刷新时文字描述 正在刷新
disablePullingRotation boolean 是否禁用图标旋转效果 false
distance number 下拉的距离 30
prefixLCls string 自定义类名前缀,对应上拉加载内容 wux-loader
isShowLoadingText boolean 是否显示 loadingText false
loadingText string 上拉加载时文字描述 正在加载
loadNoDataText string 上拉加载且没有数据时文字描述 没有更多数据
scrollTop number 页面滚动距离,上拉加载时需要设置 0
bind:pulling function 下拉开始的回调函数 -
bind:refresh function 下拉完成的回调函数 -

Refresher slot

名称 描述
- 自定义内容

Refresher.method

  • $startWuxRefresher 开始下拉刷新
  • $stopWuxRefresher 停止当前下拉刷新
  • $stopWuxLoader 停止当前上拉加载
  1. import { $startWuxRefresher, $stopWuxRefresher, $stopWuxLoader } from '../../dist/index'
  2. $startWuxRefresher()