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 相关文章推荐
js中的escape及unescape函数的php实现代码
Sep 04 Javascript
JS 控件事件小结
Oct 31 Javascript
javascript实现网页端解压并查看zip文件
Dec 15 Javascript
Easyui form combobox省市区三级联动
Jan 13 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
Jan 05 Javascript
jQuery上传插件webupload使用方法
Aug 01 jQuery
微信小程序 动画的简单实例
Oct 12 Javascript
不使用 JS 匿名函数理由
Nov 17 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
Feb 11 Javascript
express如何解决ajax跨域访问session失效问题详解
Jun 20 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 Javascript
Vue2.x-使用防抖以及节流的示例
Mar 02 Vue.js
解决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
Phpbean路由转发的php代码
2008/01/10 PHP
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
2015/06/17 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
javascript奇异的arguments分析
2010/10/20 Javascript
Javascript浅谈之this
2013/12/17 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
javascript类型转换示例
2014/04/29 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
2014/05/22 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
2015/08/03 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
JS得到当前时间的方法示例
2017/03/24 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
vue实现简单加法计算器
2020/10/22 Javascript
[02:36]DOTA2混沌骑士 英雄基础教程
2013/11/26 DOTA
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
Python用GET方法上传文件
2015/03/10 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
Python3内置函数chr和ord实现进制转换
2020/06/05 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
Python request中文乱码问题解决方案
2020/09/17 Python
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
汽车专业求职信
2014/06/05 职场文书
反洗钱宣传活动总结
2014/08/26 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书
平安建设汇报材料
2014/12/29 职场文书