alcatrazbr
5/2/2020 - 6:03 AM

ionic chamar modal

  constructor(
    private modalCtrl: ModalController,
  ) { }
  
  async chamaModal() {
    const modal = await this.modalCtrl.create({
      component: EntregadorlstMdlComponent,
      componentProps: {  }
    });
  
    await modal.present();
  
    
    const res = await modal.onDidDismiss();

    if (res === undefined) {
      console.log('nada');      
    } else {
      console.log(res.data);
      this.pedido.idEntregador = res.data.idEntregador;
      this.pedido.Entregador = res.data.Nome;
      this.pedido.TelEntregador = res.data.Telefone;
    }
  
  }

  close()   {
    this.modalCtrl.dismiss();
  }

  async seleciona(item: Produtofinal) {
    this.modalCtrl.dismiss(item);
  }
private loading: any;
  public lista = new Array<Produto>();
  public haveRegister: Boolean = true;

  constructor(
    private service: ProdutoService,
    private loadingCtrl: LoadingController,
    private modalCtrl: ModalController,
    private authService: AuthService,
    private toastCtrl: ToastController,
    private navCtrl: NavController,    
    private router: Router

  ) { 
    console.log('constructor');
    
  }

  ngOnInit() {
  }

  ngOnDestroy() {}

  ionViewDidEnter() {
    this.loadData();
  }

  async loadData() {
    console.log('load');    
    this.lista = [];

    try {
      this.lista = await this.service.getHttpDataAsync(0);
      this.haveRegister = this.lista.length > 0;
    } catch (error) {
      console.log(error);
      this.presentToast(error);    
    }
  }

  close() {
    this.modalCtrl.dismiss();
  }
  
  seleciona(item) {
    this.modalCtrl.dismiss(item);
  }

  async presentLoading(message: string) {
    this.loading = await this.loadingCtrl.create({ message });
    return this.loading.present();
  }

  
  async presentToast(message: string) {
    const toast = await this.toastCtrl.create({ message, duration: 3000 });
    toast.present();
  }


}
<ion-header>
  <ion-toolbar color="primary">
    <ion-buttons slot="start">
      <ion-button (click)="close()">
        <ion-icon name="arrow-back"></ion-icon>
      </ion-button>
    </ion-buttons>
    <ion-title>Produtos</ion-title>
  </ion-toolbar>
</ion-header>
  <ion-content>
  <!-- animacao -->
  <ion-list *ngIf="(!lista.length) && (haveRegister)">
    <ion-item *ngFor="let item of [0,1,2,3,4,5,6]">
      <ion-avatar slot="start">
        <ion-skeleton-text animated></ion-skeleton-text>
      </ion-avatar>
      <ion-label>
        <h3>
          <ion-skeleton-text animated style="width: 60%"></ion-skeleton-text>
        </h3>
      </ion-label>
    </ion-item>
  </ion-list>
  <!-- /animacao -->

  <!-- nada encontrado -->
  <ion-list *ngIf="!haveRegister">
    <!-- <ion-list *ngIf="!extratos.length"> -->
    <ion-item>
      <ion-avatar slot="start">
        <img src="../assets/img/nada-encontrado_64.png">
      </ion-avatar>
      <ion-label>
        <h2>Ooops...</h2>
        <h3>
          <ion-text>Não existem lançamentos</ion-text>
        </h3>
      </ion-label>
    </ion-item>
  </ion-list>
  <!-- /nada encontrado -->

  <ion-refresher slot="fixed" 
  (ionRefresh)="ionRefresh($event)" 
  pullFactor="1.2">
    <ion-refresher-content
      pullingIcon="arrow-dropdown"
      pullingText="Push para atualizar"
      refreshingSpinner="circles"
      refreshingText="carregando...">
    </ion-refresher-content>
  </ion-refresher>

  <ion-list>
    <ion-item (click)="seleciona(item)"  *ngFor="let item of listaFull">
      <ion-label>{{ item.Descricao }}</ion-label>
    </ion-item>
  </ion-list>
</ion-content>