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 相关文章推荐
IE浏览器IFrame对象内存不释放问题解决方法
Aug 22 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
Aug 12 Javascript
vue.js入门教程之绑定class和style样式
Sep 02 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
Dec 02 Javascript
jquery设置css样式的多种方法(总结)
Feb 21 Javascript
解决浏览器会自动填充密码的问题
Apr 28 Javascript
使用jQuery实现购物车结算功能
Aug 15 jQuery
Angular4学习笔记router的简单使用
Mar 30 Javascript
Vue代码整洁之去重方法整理
Aug 06 Javascript
使用PreloadJS加载图片资源的基础方法详解
Feb 03 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
Aug 10 Javascript
JavaScript分页组件使用方法详解
Jul 26 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
网站当前的在线人数
2006/10/09 PHP
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
javascript form 验证函数 弹出对话框形式
2009/06/23 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
jQuery编写网页版2048小游戏
2017/01/06 Javascript
微信小程序 PHP生成带参数二维码
2017/02/21 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
Vue实现路由跳转和嵌套
2017/06/20 Javascript
React服务端渲染(总结)
2017/07/01 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
基于numpy中的expand_dims函数用法
2019/12/18 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
JBL美国官方商店:扬声器、耳机等
2019/12/01 全球购物
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
Nobody Denim官网:购买高级女士牛仔裤
2021/03/15 全球购物
党的群众路线教育实践活动个人整改措施材料
2014/11/04 职场文书
欠款起诉书范文
2015/05/19 职场文书
小学生读书笔记范文
2015/06/30 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
初中语文教学反思范文
2016/03/03 职场文书
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python