Как вызвать функцию после увольнения модала в Ionic 4 - PullRequest
1 голос
/ 23 июня 2019

Я использую модальный режим и хочу вызвать функцию после отклонения модального режима.

Я пробовал 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 ]

2 голосов
/ 23 июня 2019

Согласно официальному документу:

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

См. Официальные документы ссылка

1 голос
/ 23 июня 2019

Как уже говорилось в других ответах, теперь onDidDismiss () также возвращает обещание.Таким образом, вы можете следить за тем, как документация советует вам собирать данные или делать что-то подобное, это просто другой синтаксис:

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

фактические данные будут внутри data.data в этом случае.

1 голос
/ 23 июня 2019

onDidDismiss() возвращает Promise<OverlayEventDetail<any>>.

Попробуйте следующим образом.

const modal = await modalController.create({ component: UploadPage });
const { data } = await modal.onDidDismiss();
if (data) {
   this.getData();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...