如何在离子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."

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

尝试如下。

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

正如其他答案所述,现在ondiddismiss((也返回承诺。因此,您可以关注文档建议您捕获数据或执行类似的事情,这基本上只是另一种语法:

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

实际数据将在data.data中。

根据官方文档:

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

请参阅官方文档链接

最新更新