Ionic上滑刷新
上拉加载用的是ionic控件ion-infinite-scroll,使用示例如下:
<ion-infinite-scroll (ionInfinite)="doInfinite($event)">
<ion-infinite-scroll-content
loadingSpinner="bubbles"
loadingText="Loading more data...">
</ion-infinite-scroll-content>
</ion-infinite-scroll>
加载完之后需要收起 loading 动画:
doInfinite(infiniteScroll) {
...
infiniteScroll.complete();
}
详情说明请看官方文档:https://ionicframework.com/docs/api/components/infinite-scroll/InfiniteScroll/#enable
完整demo
html部分:
<ion-infinite-scroll [enabled]="enable" (ionInfinite)="refreshData(false,loanType,$event)">
<ion-infinite-scroll-content
loadingSpinner="bubbles"
loadingText="加载更多数据">
</ion-infinite-scroll-content>
</ion-infinite-scroll>
ts部分:
currPage:number = 1;
enable = true;
loanType:string;
loans = []; // 刷新数据
refreshData(reset:boolean, loanType:string, infiniteScroll?) {
if (reset) {
this.currPage = 1;
this.enable = true;
this.loans = []; }else{
this.currPage++;
} this.loanType = loanType;
const paramData = {
'currPage': this.currPage.toString(),
'loanType': loanType,
}; this.productsService.getProductList(paramData).subscribe(data => {
if(data.success && data.code === '0001'){
this.loans = this.loans.concat(data.data.loans); // 如果是上滑刷新,则调用控件complete方法
if(infiniteScroll){
infiniteScroll.complete();
} // 如果当前页大于等于总页数,则禁用上滑刷新控件
if(this.currPage >= data.data.page.totalPage){
this.enable = false;
}
}else{
this.toastCtrl.create({message: data.msg, duration: 3000, position: 'top'}).present();
}
})
}
Ionic上滑刷新的更多相关文章
- h5上滑刷新(分页)
$('.dom').append('<div class="loadingwrap" id="loading" style="display:n ...
- 使用MJRefresh遇到的一个问题,上拉刷新后tableview瞬间滑到最底部
最近用MJRefresh上拉刷新时遇到一个问题,就是上拉刷新后,tableview会瞬间滑到最底部,用户还要往回翻才能看到新刷出来的数据,体验十分不好.查了很久没找到原因,最后发现在refreshvi ...
- Android如何定制一个下拉刷新,上滑加载更多的容器
前言 下拉刷新和上滑加载更多,是一种比较常用的列表数据交互方式. android提供了原生的下拉刷新容器 SwipeRefreshLayout,可惜样式不能定制. 于是打算自己实现一个专用的.但是下拉 ...
- ionic项目上划刷新和下拉刷新
我们想要一块区域实现上划刷新时. 首先需要一块滚动视图:ionCintent 或者 ionScroll 把ion-infinite-scroll当作滚动视图的最后一个子元素,他的on-infinite ...
- vue项目上滑滚动加载更多&下拉刷新
上滑滚动时获取内容高度.屏幕高度和滚动高度(此处#sslist要为内容是id) 内容高度 let innerHeight = document.querySelector("#sslist ...
- ionic上拉加载组件 ion-infinite-scroll自动调用多次的问题
参考文章地址:http://www.cnblogs.com/luleixia/p/6402418.html ionic 一个上拉刷新的组件 ion-infinite-scroll,如果页面未填充满页面 ...
- Android的ListView分页功能(上滑加载更多)
今天主要工作是将之前实现的各种ListView显示全部信息,优化成了每次加载几条数据,然后上滑的时候加载更多,底部显示一个进度条和一个文字提示,然后加载完毕后,将提示信息隐藏. 一边看教学视频一遍敲代 ...
- touch上滑加载
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 解决ionic 上拉加载组件 ion-infinite-scroll自动调用多次的问题或禁止第一次加载
ionic 中一个上拉刷新的组件 ion-infinite-scroll,如果页面未填充满页面高度,会自动检测并无限调用多次加载更多的函数: 当然,主要会导致首次调用的时候,会执行几次加载更多的函数: ...
随机推荐
- Linux源码安装过程中选项—prefix的作用
源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure).Configu ...
- 小型云服务器搭建GitLab遇到的坑
云服务商:腾讯云,搞活动买的 3年800块钱,和同时一人一台 配置:1C.1G.50G 用三年,挺划算的 项目中以前一直使用SVN作为代码版本控制,秉着程序员做到老学到老的精神,想尝试一下先进的GIT ...
- 数据库设计(四)数据库的规范化(Normalization)
数据库的规范化 Database Normalization is a technique of organizing the data in the database. Normalization ...
- 【积累】javascript tips代码段
1.json转字符串 function json2str(o) { var arr = []; var fmt = function (s) { if (typeof s == 'object' &a ...
- quick-cocos2d-x的热更新机制实现
quick-cocos2d-x的热更新机制实现 0 依赖 这里说的热更新,指的是客户端的更新. 大致的流程是,客户端在启动后访问更新api,根据更新api的反馈,下载更新资源,然后使用新的资源启动客户 ...
- MapReduce实战(四)倒排索引的实现
需求: 以上三个文件,用MapReduce进行处理,最终输出以下格式: hello c.txt-->2 b.txt-->2 a.txt-->3jerry c.txt-->1 b ...
- js删除数组中某一项,splice()
' ","childTagName":"高中"}, {","childTagName":"初中"}] ...
- css3动画4
效果: 代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head&g ...
- 逃不掉的mysql数据库安装方式大全yum rpm 源码
数据库虽然也不是天天安装,但每次安装都要找来找去挺烦,特整理记录在此. 系统基于:Centos 7.x 数据库版本: MySQL 5.7.x 转载请注明出处 Yum 安装方式 1.下载 yum rep ...
- find命令结合cp bash mv 命令使用的4种方式
工作经常需要用find结合其它命令一起使用,下面介绍4种结合方式. 例: 用find查找/data目录下,以.txt文件结尾的文件并复制到/tmp下 方法一 find与|xargs是黄金搭档,-t 参 ...