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中ajax学习笔记一
Oct 16 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
Jun 05 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
Aug 28 Javascript
告诉你什么是javascript的回调函数
Sep 04 Javascript
js获取json元素数量的方法
Jan 27 Javascript
动态加载js的方法汇总
Feb 13 Javascript
jQuery插件StickUp实现网页导航置顶
Apr 12 Javascript
jQuery实现简单的抽奖游戏
May 05 jQuery
利用Ionic2 + angular4实现一个地区选择组件
Jul 27 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
Oct 10 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
May 30 Javascript
一文了解vue-router之hash模式和history模式
May 31 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
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
php生成mysql的数据字典
2016/07/07 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
Javascript中的delete介绍
2012/09/02 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
jquery实现图片裁剪思路及实现
2013/08/16 Javascript
原生js实现日期联动
2015/01/12 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
Python中集合类型(set)学习小结
2015/01/28 Python
Python PIL图片添加字体的例子
2019/08/22 Python
python线程join方法原理解析
2020/02/11 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
实例讲解HTML5的meta标签的一些应用
2015/12/08 HTML / CSS
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
对公司合理化的建议书
2014/03/12 职场文书
施工员岗位职责
2014/03/16 职场文书
公司任命书模板
2014/06/06 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
新生入学欢迎词
2015/01/26 职场文书
公司借款担保书
2015/09/22 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
Python基础之进程详解
2021/05/21 Python