【问题标题】:How to a call function after dismiss the Modal in Ionic 4关闭 Ionic 4 中的模态后如何调用函数
【发布时间】:2019-11-05 11:46:51
【问题描述】:

我正在使用模态,并且想在关闭模态后调用一个函数。

我尝试了onDidDismiss() 方法,但它显示错误

async openModal() {
    const modal = await this.modal.create({ component: UploadPage });
    modal.onDidDismiss(() => {
        this.getData();
    });
    return await modal.present();
}

getData() {
......
}

这样我得到了一个错误"Expected 0 arguments, but got 1."

【问题讨论】:

    标签: javascript angular ionic-framework ionic4


    【解决方案1】:

    onDidDismiss() 返回Promise<OverlayEventDetail<any>>

    尝试如下。

    const modal = await modalController.create({ component: UploadPage });
    const { data } = await modal.onDidDismiss();
    if (data) {
       this.getData();
    }
    

    【讨论】:

      【解决方案2】:

      正如其他答案所述,现在 onDidDismiss() 也返回一个承诺。因此,您可以按照文档如何建议您捕获数据或执行类似操作,这基本上只是另一种语法:

      async openModal() {
          const modal = await this.modal.create({ component: UploadPage });
          modal.onDidDismiss().then((data) => {
              console.log(data)
          });
          return await modal.present();
      }
      

      在这种情况下,实际数据将在 data.data 中。

      【讨论】:

        【解决方案3】:

        根据官方文档:

        const modal = await modalController.create({...});
        const { data } = await modal.onDidDismiss();
        console.log(data);
        

        见官方文档link

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-07-08
          • 1970-01-01
          • 1970-01-01
          • 2018-06-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多