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 相关文章推荐
jquery ui resizable bug解决方法
Oct 26 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
Apr 06 Javascript
JavaScript中判断函数是new还是()调用的区别说明
Apr 07 Javascript
在浏览器窗口上添加遮罩层的方法
Nov 12 Javascript
AngularJS ng-controller 指令简单实例
Aug 01 Javascript
JavaScript面向对象编写购物车功能
Aug 19 Javascript
AngularJS学习笔记之表单验证功能实例详解
Jul 06 Javascript
Vue.js实现价格计算器功能
Mar 30 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
Oct 24 Javascript
浅谈基于Vue.js的移动组件库cube-ui
Dec 20 Javascript
jquery实现的简单轮播图功能【适合新手】
Aug 17 jQuery
keep-Alive搭配vue-router实现缓存页面效果的示例代码
Jun 24 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
Laravel 自动生成验证的实例讲解:login / logout
2019/10/14 PHP
JS 继承实例分析
2008/11/04 Javascript
基于jQuery的日期选择控件
2009/10/27 Javascript
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
一个关于jqGrid使用的小例子(行按钮)
2011/11/04 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
js 动态修改css文件用到了cssRule
2014/08/20 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
2017/02/28 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
Vue基于NUXT的SSR详解
2017/10/24 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
python读写二进制文件的方法
2015/05/09 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
Python使用爬虫爬取静态网页图片的方法详解
2018/06/05 Python
详解django.contirb.auth-认证
2018/07/16 Python
如何在python中实现随机选择
2019/11/02 Python
css3弹性盒模型实例介绍
2013/05/27 HTML / CSS
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
网络工程专业毕业生推荐信
2013/10/28 职场文书
平面设计师工作职责范文
2013/12/03 职场文书
古汉语文学求职信范文
2014/03/16 职场文书
关于读书的演讲稿
2014/05/07 职场文书
理发店策划方案
2014/06/05 职场文书
见习报告的格式
2014/10/31 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
Python OpenCV实现图像模板匹配详解
2022/04/07 Python