1.5.1 • Published 1 year ago

@wines/refresher v1.5.1

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

@wines/refresher

Refresher 下拉刷新

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

使用指南

在 page.json 中引入组件

{
  "navigationBarTitleText": "Refresher",
  "usingComponents": {
    "wux-cell": "@wines/cell",
    "wux-cell-group": "@wines/cell-group",
    "wux-refresher": "@wines/refresher"
  }
}

示例

<wux-refresher
 id="wux-refresher"
 bind:pulling="onPulling"
 bind:refresh="onRefresh"
 bind:loadmore="onLoadmore"
 scrollTop="{{ scrollTop }}"
>
	<view class="panel panel_access">
		<view class="panel__bd">
			<view class="media-box media-box_text" wx:for="{{ items }}" wx:key="index">
				<view class="media-box__title media-box__title_in-text">{{ item.title }}</view>
				<view class="media-box__desc">{{ item.content }}</view>
			</view>
		</view>
	</view>
</wux-refresher>

示例 ScrollView

<view>
	<view class="header">Headline</view>
	<view class="refresher-area">
		<wux-refresher
		 id="wux-refresher"
		 disable-pulling="{{disablePulling}}"
		 bind:pulling="onPulling"
		 bind:refresh="onRefresh"
		 bind:loadmore="onLoadmore"
		 view-mode="ScrollView"
		>
			<view class="panel panel_access">
				<view class="panel__bd">
					<view class="media-box media-box_text" wx:for="{{ items }}" wx:key="index">
						<view class="media-box__title media-box__title_in-text">{{ item.title }}</view>
						<view class="media-box__desc">{{ item.content }}</view>
					</view>
				</view>
			</view>
		</wux-refresher>
	</view>
</view>
import { $wuxRefresher } from '@wines/refresher';

const getList = (count = 10, step = 0) => {
  return [...new Array(count)].map((_n: number, i) => ({
    title: `Pull down ${i + step}`,
    content: 'Wux Weapp',
  }));
};

Page({
  data: {
    items: [] as unknown[],
    count: 0,
    scrollTop: 0,
  },
  onLoad() {
    const refresher = $wuxRefresher();
    refresher && refresher.refresh();
  },
  onPageScroll(e) {
    this.setData({
      scrollTop: e.scrollTop,
    });
  },
  onPulling() {
    console.log('onPulling');
  },
  onRefresh() {
    console.log('onRefresh');

    this.setData({ count: 10 });

    setTimeout(() => {
      this.setData({ items: getList() });
      $wuxRefresher().refreshDone();
    }, 3000);
  },
  onLoadmore() {
    console.log('onLoadmore');
    setTimeout(() => {
      this.setData({
        items: [...this.data.items, ...getList(10, this.data.count)],
        count: this.data.count + 10,
      });

      if (this.data.items.length < 30) {
        $wuxRefresher().loadmoreDone();
      } else {
        console.log('没有更多数据');
        $wuxRefresher().loadmoreDone(true);
      }
    }, 3000);
  },
});

API

Refresher props

参数类型描述默认值
prefixClsstring自定义类名前缀wux-refresher
disablePullingboolean是否禁用下拉刷新, 默认未禁用-
pullingIconstring下拉时图标-
pullingTextstring下拉时文字描述下拉刷新
pullingActiveTextstring下拉时达到激活点时文字描述释放刷新
refreshingIconstring刷新时图标-
refreshingTextstring刷新时文字描述正在刷新
viewModeNormalView, ScrollView当前的视图模式NormalView
disablePullingRotationboolean是否禁用图标旋转效果false
distancenumber下拉的距离30
refreshThresholdnumber页面 scrollTop 再什么范围内允许 pull refresh30
loadmoreThresholdnumber距离底部在什么范围内允许提前执行 loadmore30
prefixLClsstring自定义类名前缀,对应上拉加载内容wux-loader
isShowLoadingTextboolean是否显示 loadingTextfalse
loadingTextstring上拉加载时文字描述正在加载
loadNoDataTextstring上拉加载且没有数据时文字描述没有更多数据
scrollTopnumber页面滚动距离,上拉加载时需要设置, ScrollView 模式无效0
bind:pullingfunction下拉开始的回调函数-
bind:refreshfunction下拉完成的回调函数-

Refresher slot

名称描述
-自定义内容

Refresher.method

  • refresh 开始下拉刷新
  • refreshDone 停止当前下拉刷新
  • loadmoreDone 停止当前上拉加载
import { $wuxRefresher } from '@wines/refresher';

$wuxRefresher().refresh()
1.5.1

1 year ago

1.5.0

1 year ago

1.3.7

2 years ago

1.3.5

2 years ago

1.4.0

2 years ago

1.3.3

3 years ago

1.3.2

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago