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 相关文章推荐
Ajax一统天下之Dojo整合篇
Mar 24 Javascript
JS实现简单的Canvas画图实例
Jul 04 Javascript
关于jquery中全局函数each使用介绍
Dec 10 Javascript
node.js解决获取图片真实文件类型的问题
Dec 20 Javascript
jquery实现简单的表单验证
Nov 17 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
Sep 08 Javascript
JS DOMReady事件的六种实现方法总结
Nov 23 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
Mar 02 Javascript
讲解vue-router之什么是嵌套路由
May 28 Javascript
在JS循环中使用async/await的方法
Oct 12 Javascript
vue elementui form表单验证的实现
Nov 11 Javascript
vue.js中导出Excel表格的案例分析
Jun 11 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
codeigniter中测试通过的分页类示例
2014/04/17 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
2014/08/19 PHP
php简单计算页面加载时间的方法
2015/06/19 PHP
ajax+php控制所有后台函数调用
2015/07/15 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
laravel框架学习笔记之组件化开发实现方法
2020/02/01 PHP
JS小功能(列表页面隔行变色)简单实现
2013/11/28 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
vue项目中用cdn优化的方法
2018/01/03 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
2020/10/27 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
员工试用期考核自我鉴定
2014/04/13 职场文书
经典毕业生求职信
2014/07/12 职场文书
2014党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
民事代理词范文
2015/05/25 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
Python实现8种常用抽样方法
2021/06/27 Python
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python