【问题标题】: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