在 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 内。
我正在使用模态,想在 关闭模态后调用一个函数。
我试过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 内。