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


Posted in Javascript onAugust 03, 2017

本文介绍了react-native ListView下拉刷新上拉加载实现。分享给大家,具体如下:

先看效果图

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

下拉刷新

React Native提供了一个组件可以实现下拉刷新方法RefreshControl

使用方法

<ListView
 refreshControl={
 <RefreshControl
 refreshing={this.state.refreshing}
 onRefresh={this._onRefresh.bind(this)}
 />
 }
 //...
</ListView>

在视图加载的时候的时候,将refreshing设置为true,数据加载完成设置为false即可

上拉加载

利用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滑动结束的标志是以该值作为判断条件的

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript去除空格的几种方法
Oct 03 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
Nov 21 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
Mar 10 Javascript
Jquery对select的增、删、改、查操作
Feb 06 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
Jun 21 Javascript
jQuery Easyui datagrid/treegrid 清空数据
Jul 09 Javascript
AngularJS基础 ng-keypress 指令简单示例
Aug 02 Javascript
微信小程序 开发指南详解
Sep 27 Javascript
bootstrap选项卡使用方法解析
Jan 11 Javascript
原生JS实现简单放大镜效果
Feb 08 Javascript
Node绑定全局TraceID的实现方法
Nov 14 Javascript
javascript单张多张图无缝滚动实例代码
May 10 Javascript
解决ionic和angular上拉加载的问题
Aug 03 #Javascript
ES6学习教程之Map的常用方法总结
Aug 03 #Javascript
微信小程序之电影影评小程序制作代码
Aug 03 #Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
Aug 03 #Javascript
微信小程序-滚动消息通知的实例代码
Aug 03 #Javascript
es6 字符串String的扩展(实例讲解)
Aug 03 #Javascript
浅谈pc端rem字体设置的问题
Aug 03 #Javascript
You might like
php下载文件的代码示例
2012/06/29 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
PHP中list方法用法示例
2016/12/01 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
2018/08/19 PHP
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
JavaScript 事件的一些重要说明
2009/10/25 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
javascript:void(0)的作用示例介绍
2013/10/28 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
使用window.prompt()实现弹出用户输入的对话框
2015/04/13 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
python3实现暴力穷举博客园密码
2016/06/19 Python
python实现拓扑排序的基本教程
2018/03/11 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
Django集成搜索引擎Elasticserach的方法示例
2019/06/04 Python
浅谈Python3实现两个矩形的交并比(IoU)
2020/01/18 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
世界领先的以旅馆为主的在线预订平台:Hostelworld
2016/10/09 全球购物
个人承诺书
2014/03/26 职场文书
旅游节目策划方案
2014/05/26 职场文书
办公室主任岗位承诺书
2014/05/29 职场文书
小学运动会班级口号
2014/06/09 职场文书
建筑施工安全责任书
2014/07/24 职场文书
投诉信范文
2015/07/02 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
导游词之包公祠
2019/11/25 职场文书
iPhone13将有八大升级
2021/04/15 数码科技