源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

react-native ListView下拉刷新上拉加载实现代码

  • 时间:2020-09-23 23:47 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:react-native ListView下拉刷新上拉加载实现代码
本文介绍了react-native ListView下拉刷新上拉加载实现。分享给大家,具体如下: 先看效果图 [img]http://files.jb51.net/file_images/article/201708/20178391958784.gif?20177392011[/img] [b]下拉刷新[/b] React Native提供了一个组件可以实现下拉刷新方法RefreshControl 使用方法
<ListView
 refreshControl={
 <RefreshControl
 refreshing={this.state.refreshing}
 onRefresh={this._onRefresh.bind(this)}
 />
 }
 //...
</ListView>
在视图加载的时候的时候,将refreshing设置为true,数据加载完成设置为false即可 [b]上拉加载[/b] 利用ListView里的onEndReached方法实现,ListView在滚动到最后一个Cell的时候,会触发onEndReached方法 先在ListView里添加一个Footer
render() {
 const FooterView = this.state.loadMore ?
 <View style={styles.footer}>
 <Text style=>加载更多...</Text>
 </View> : null;
 return <ListView
 refreshControl={
 <RefreshControl
  refreshing={this.state.refreshing}
  onRefresh={this._onRefresh.bind(this)}
 />
 }
 style={[styles.listView]}
 dataSource={ds.cloneWithRows(this.state.dataSource)}
 enableEmptySections={true}
 renderRow={this._renderRow.bind(this)}
 onEndReachedThreshold={5}
 onEndReached={this._onEndReached.bind(this)}
 renderFooter={() => FooterView}
 />
 }
在方法_onEndReached里将Footer显示出来,在数据加载完成之后,再隐藏掉Footer
_onEndReached() {
 this.setState({
 loadMore: true,
 pageNo: this.state.pageNo + 1
 });
 this._fetchData();
 }
说明 ListView里还设置了一个参数onEndReachedThreshold这个参数与onEndReached配合使用,它的意思是:像素的临界值,该属性和onEndReached配合使用,因为onEndReached滑动结束的标志是以该值作为判断条件的 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部