How to stop infinite scroll


#1

i need stop infinity scroll, any help ?

public doInfinite(infiniteScroll:any){
      this.pagina+=1;
      this.webservice.buscaClientes(this.str.toUpperCase(),this.tipocliente,this.pagina)
      .then(
        (data) => {
          setTimeout(() => {
            for(let i = 0; i <= data.length - 1; i++){
              this.database.presentToast(data[i]);
              this.clientes.push(data[i]);
            }
            infiniteScroll.complete();
          }, 500);
        },
        (error) => {
          this.database.presentToast(error);
        });
    }

#2

try infiniteScroll.enable(false); to stop scroll.


#3
<form (submit)="buscaClientes(descricao)">
      <span style="color:#454543;font-size: 15px;margin-top:50px;">
        Selecionar Cliente
      </span>
      <ion-row>
        <ion-col col-9 tex-center>
          <div style="display: flex;flex-direction: row;">
            <input id="search" type="text" placeholder="cliente..." text-uppercase #descricao>
            <button ion-button color="positive"><ion-icon name="search"></ion-icon></button>
          </div>
        </ion-col>
      </ion-row>
  </form>

  <ion-list>
    <ion-item class="clientes" *ngFor="let cliente of this.clientes">
      <ion-avatar item-left class="avatarItem">
        <ion-icon name="contact" class="contact"></ion-icon>
      </ion-avatar>
      <span class="cliente">{{ cliente.nome }}</span>
    </ion-item>
  </ion-list>

  <ion-infinite-scroll (ionInfinite)="doInfinite($event)">
   <ion-infinite-scroll-content loadingText="Carregando clientes..." threshold="100%"></ion-infinite-scroll-content>
 </ion-infinite-scroll>
public buscaClientes(cliente){
    this.clientes = [];
    this.pagina = 1;
    this.str = cliente.value;
    if(this.str.match(/0/)){
      this.tipocliente = "codigo";
    }else if(this.str.match(/1/)){
      this.tipocliente = "codigo";
    }else if(this.str.match(/2/)){
      this.tipocliente = "codigo";
    }else if(this.str.match(/3/)){
      this.tipocliente = "codigo";
    }else if(this.str.match(/4/)){
      this.tipocliente = "codigo";
    }else if(this.str.match(/5/)){
      this.tipocliente = "codigo";
    }else if(this.str.match(/6/)){
      this.tipocliente = "codigo";
    }else if(this.str.match(/7/)){
      this.tipocliente = "codigo";
    }else if(this.str.match(/8/)){
      this.tipocliente = "codigo";
    }else if(this.str.match(/9/)){
      this.tipocliente = "codigo";
    }else{
      this.tipocliente = "nome";
    }
    this.database.presentLoadingDefault();
    this.webservice.buscaClientes(cliente.value.toUpperCase(), this.tipocliente, this.pagina)
    .then((data) => {
      this.database.dismissLoadingDefault();
      if(data.mensagem){
        this.database.presentToast(data.mensagem);
      }else{
        this.clientes = data;
      }
    },
      (error) => {
        this.database.presentToast(error);
        this.database.dismissLoadingDefault();
    });
  }

  public doInfinite(infiniteScroll:any){s
      this.pagina+=1;
      this.webservice.buscaClientes(this.str.toUpperCase(),this.tipocliente,this.pagina)
      .then(
        (data) => {
          if(this.vazio == true){
            if(data.mensagem){
              infiniteScroll.enable(false);
              this.vazio = true;
            }else{
              infiniteScroll.enable(true);
              this.vazio = true;
            }
          }else{
              infiniteScroll.enable(true);
              this.vazio = true;
          }
          setTimeout(() => {
            for(let i = 0; i <= data.length - 1; i++){
              this.clientes.push(data[i]);
            }
            infiniteScroll.complete();
          }, 500);
        },
        (error) => {
          this.database.presentToast(error);
        });
    }

#4

infiniteScroll.enable(false) works but if i need search customers again and click on ion-button
infiniteScroll.enable(true) workn’t more…