zoukankan      html  css  js  c++  java
  • 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();
                }
            })
        }
  • 相关阅读:
    CSS的浮动和清除
    外边距合并现象
    CSS 盒子模型
    CSS样式三
    CSS的继承与优先级
    CSS 样式二
    UVA 11922 Permutation Transformer(平衡二叉树)
    HDU 3726 Graph and Queries(平衡二叉树)(2010 Asia Tianjin Regional Contest)
    POJ 1873 The Fortified Forest(枚举+凸包)
    POJ 2069 Super Star(计算几何の最小球包含+模拟退火)
  • 原文地址:https://www.cnblogs.com/Jason-Xiang/p/9434944.html
Copyright © 2011-2022 走看看