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 相关文章推荐
JavaScript日历实现代码
Sep 12 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
Aug 13 Javascript
javascript中call apply 与 bind方法详解
Mar 10 Javascript
jQuery中的Deferred和promise 的区别
Apr 03 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
Dec 20 Javascript
jQuery常见的选择器及用法介绍
Dec 20 Javascript
JS中图片压缩的方法小结
Nov 14 Javascript
AngularJS与BootStrap模仿百度分页的示例代码
May 23 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
Sep 11 Javascript
Vue 组件注册实例详解
Feb 23 Javascript
LayUI数据接口返回实体封装的例子
Sep 12 Javascript
ReactRouter的实现方法
Jan 25 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中文分词 自动获取关键词介绍
2012/11/13 PHP
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
loading动画特效小结
2017/01/22 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
用Python实现数据的透视表的方法
2018/11/16 Python
基于python的Paxos算法实现
2019/07/03 Python
关于PyTorch 自动求导机制详解
2019/08/18 Python
python操作cfg配置文件方式
2019/12/22 Python
Python数据结构dict常用操作代码实例
2020/03/12 Python
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
如何用Lucene索引数据库
2016/02/23 面试题
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
女娲补天教学反思
2014/02/05 职场文书
认识深刻的检讨书
2014/02/16 职场文书
经济担保书范文
2014/04/02 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
辩护词范文大全
2015/05/21 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang