在 Ionic 4 中关闭 Modal 后如何调用函数

How to a call function after dismiss the Modal in Ionic 4

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

我试过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."

根据官方文档:

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

查看官方文档link

onDidDismiss() returns Promise<OverlayEventDetail<any>>.

尝试如下。

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

正如其他答案所述,现在 onDidDismiss() 也是 returns 一个承诺。所以你可以按照文档如何建议你捕获数据或做这样的事情,它基本上只是另一种语法:

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

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