zoukankan      html  css  js  c++  java
  • Ionic4.x ion-infinite-scroll 上拉分页加载更多

    1ion-infinite-scroll 上拉分页加载更多(模 拟)

    官方文档:https://ionicframework.com/docs/api/infinite-scroll

    <ion-content> <ion-list>
    <ion-item *ngFor="let item of data"> {{item}}
    </ion-item> </ion-list>
    <ion-infinite-scroll #myInfiniteScroll threshold="100px" (ionInfinite)="loadData($event)"> <ion-infinite-scroll-content
    loadingSpinner="bubbles"
    loadingText="Loading more data..."> </ion-infinite-scroll-content>
    </ion-infinite-scroll> </ion-content>
    import { Component } from '@angular/core';
    import { IonInfiniteScroll } from '@ionic/angular';
    @Component({
      selector: 'app-tab1',
      templateUrl: 'tab1.page.html',
      styleUrls: ['tab1.page.scss']
    })
    export class Tab1Page {
    
      list:any[]=[];
      constructor(){
    
          for(var i=0;i<16;i++){
    
            this.list.push(`这是第${i}条数据`);
          }
      }
      loadData(event){
    
        setTimeout(()=>{  
    
          for(var i=0;i<10;i++){
    
            this.list.push(`这是第${i}条数据--服务器获取`);
          };
    
          event.target.complete();   //告诉ion-infinite-scroll数据已经更新完成 
    
    
          //禁用ion-infinite-scroll
          if(this.list.length>40){
            event.target.disabled=true;
          }
    
        },1000);
    
      }
    }

    <ion-header>
      <ion-toolbar>
        <ion-title>
          Tab Two
        </ion-title>
    
        <ion-buttons slot="end">
          <ion-button (click)="doStop()">
              停止
          </ion-button>
        </ion-buttons>
      </ion-toolbar>
    </ion-header>
    
    <ion-content>
    
    
      <ion-list>      
        <ion-item *ngFor="let item of list">
          <ion-label>{{item}}</ion-label>
        </ion-item>
      </ion-list>
      <ion-infinite-scroll #infinite threshold="25%" (ionInfinite)="loadMore($event)">
        <ion-infinite-scroll-content loadingSpinner="crescent" loadingText="Loading more data...">
        </ion-infinite-scroll-content>
      </ion-infinite-scroll>
    </ion-content>
    import { Component ,ViewChild} from '@angular/core';
    
    @Component({
      selector: 'app-tab2',
      templateUrl: 'tab2.page.html',
      styleUrls: ['tab2.page.scss']
    })
    export class Tab2Page {
    
    
      //获取 ion-infinite-scroll 这个对象
    
     @ViewChild('infinite') myInfinite;
    
      list:any[]=[];
      constructor(){
    
          for(var i=0;i<16;i++){
    
            this.list.push(`这是第${i}条数据----`);
          }
      }
      loadMore(event){
    
        setTimeout(()=>{  
    
          for(var i=0;i<10;i++){
    
            this.list.push(`这是第${i}条数据--服务器获取---`);
          };
    
          event.target.complete();   //告诉ion-infinite-scroll数据已经更新完成 
    
          //禁用ion-infinite-scroll
          if(this.list.length>100){
            // event.target.disabled=true;
    
            this.myInfinite.disabled=true;
          }
        },1000);
      }
      doStop(){
        this.myInfinite.disabled=true;
      }
    }
  • 相关阅读:
    mysql DATE_FORMAT FROM_UNIXTIME 的区别
    thinkphp按日期(天)统计数据
    ThinkPHP5 (mySQL) 统计各个时间段内的订单量
    转:mysql按时间统计数据,没有数据的时候自动补充0
    SQL的各种连接Join详解
    查询近7天,近1个月,近3个月每天的数据量,查询近一年每个月的数据量
    MySQL 如何生成日期表
    MySQL 生成日期表
    linux达人养成计划学习笔记(一)——命令基本格式及文件处理命令
    rviz学习笔记(二)——Markers: Points and Lines (C++) 点和线
  • 原文地址:https://www.cnblogs.com/loaderman/p/10973336.html
Copyright © 2011-2022 走看看