1.1.4 • Published 5 years ago

react-native-vk-refresh v1.1.4

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

react-native-vk-refresh

Refresh component for React Native (iOS and Android)

Install

Install the package:

npm i react-native-vk-refresh --save
or 
yarn add react-native-vk-refresh

Usage

import {BaseRefreshComponent, DefaultRefreshComponent, RefreshStatus, RefreshHeader, RefreshFooter} from 'react-native-vk-refresh';

/** 自定义下拉刷新,支持FlatList,ScrollView等滑动组件*/ 
<BaseRefreshComponent
      ContentComponent={FlatList}
      renderItem={() => <FlatItemCell/>}
      data={[]}
      onHeaderRefresh={this._onHeaderRefresh}
      onFooterRefresh={this._onFooterRefresh}
      autoLoading={true}
/>

/** 系统下拉刷新,支持FlatList*/ 
<DefaultRefreshComponent
      ContentComponent={FlatList}
      renderItem={() => <FlatItemCell/>}
      data={[]}
      onHeaderRefresh={this._onHeaderRefresh}
      onFooterRefresh={this._onFooterRefresh}
      autoLoading={true}
/>

/** 下拉刷新*/
_onHeaderRefresh = (notify) => {

   setTimeout(() => {

     // 刷新完成,无提示
     notify();
     
     // 刷新成功
     notify(RefreshStatus.HeaderFinish);
     
     // 刷新失败
     notify(RefreshStatus.HeaderFailure);

   }, 2000);
};

/** 上拉加载*/
_onFooterRefresh = (notify) => {

   setTimeout(() => {

     // 继续加载
     notify();
     
     // 加载失败
     notify(RefreshStatus.FooterFailure);
     
     // 加载完成,没有更多数据
     notify(RefreshStatus.FooterFinish);

   }, 2000);
};
/** 支持 ScrollView*/ 
<RefreshComponent
       ContentComponent={ScrollView}
       onHeaderRefresh={this._onHeaderRefresh}
>
       <FlatItemCell/>
       <FlatItemCell/>
       <FlatItemCell/>
       <FlatItemCell/>
       <FlatItemCell/>
</BaseRefreshComponent>

Props

PropTypeOptionalDefaultDescription
...ContentComponent.propTypesYes传入 ContentComponent 的所有属性
HeaderComponentobjectYesBaseRefreshHeader自定义刷新组件,继承 BaseRefreshHeader 并实现所有方法
FooterComponentobjectYesBaseRefreshFooter自定义加载组件,继承 BaseRefreshFooter 并实现所有方法
ContentComponentobjectYesScrollView内容组件,支持FlatList, ScrollView或第三方滑动组件
headerHeightnumberYes60刷新组件高度,自定义组件必须填写
onHeaderRefreshfuncYes刷新回调, 带notify(RefreshStatus)参数,通知刷新完成
onFooterRefreshfuncYes加载回调,带notify(RefreshStatus)参数,通知加载完成
autoLoadingboolYesfalse组件加载时,是否自动加载数据

License

MIT