在Ionic 4中解除模态后如何调用函数

时间:2019-06-23 11:46:13

标签: javascript angular ionic-framework ionic4

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

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

3 个答案:

答案 0 :(得分:2)

根据正式文件:

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

请参阅官方文档link

答案 1 :(得分:1)

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

尝试如下。

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

答案 2 :(得分:1)

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

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

实际数据将在data.data内部。