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 相关文章推荐
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
Mar 26 Javascript
js 程序执行与顺序实现详解
May 13 Javascript
用jquery修复在iframe下的页面锚点失效问题
Aug 22 Javascript
jquery制作多功能轮播图插件
Apr 02 Javascript
jQuery+json实现的简易Ajax调用实例
Dec 14 Javascript
详解JavaScript UTC时间转换方法
Jan 07 Javascript
Javascript技术栈中的四种依赖注入详解
Feb 23 Javascript
js实现四舍五入完全保留两位小数的方法
Aug 02 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
Oct 10 Javascript
Vue如何引入远程JS文件
Apr 20 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
Jul 11 Javascript
VSCode搭建Vue项目的方法
Apr 30 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中的静态变量的基本用法
2014/03/20 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
jQuery实现文件上传进度条特效
2015/08/12 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
JS实现获取剪贴板内容的方法
2016/06/21 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
跟老齐学Python之赋值,简单也不简单
2014/09/24 Python
Python构造函数及解构函数介绍
2015/02/26 Python
详解tensorflow实现迁移学习实例
2018/02/10 Python
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
使用Keras加载含有自定义层或函数的模型操作
2020/06/10 Python
python文件排序的方法总结
2020/09/13 Python
英文版餐饮运营管理求职信
2013/11/06 职场文书
元旦寄语大全
2014/04/10 职场文书
手术室护士节演讲稿
2014/08/27 职场文书
医生学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
技术负责人岗位职责
2015/02/10 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers