после перехода на ioni c 5 и angular 8 несколько модальных не увольняют - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть старое приложение, разработанное с помощью ioni c 4 и angular 7, есть компонент, который представляет модал-А, затем модал-А представляет модал-В, когда модал-Б отклоняется, передают данные в модал-А, который отклоняет и передает данные компоненту, теперь я хочу переключиться на angular 8, новое приложение может представлять модал-А и модал-В, но когда модал-Б отклоняет, модал-А не отклоняет, вот как компонент представляет модал-А:

const modal = await this.modalCtrl.create({
      component: SelectorItemsPage,
      componentProps: {
        item: this.item,
        title: this.text,
        service: this.service,
        filterFunction: this.filterFunction,
        sorterFunction: this.sorterFunction,
        createPopup: this.createPopup

      }
    });

    modal.onDidDismiss().then(data => {
      this.item = data.data
      this.selectedItem.emit(data.data)
      this.writeValue(this.item)
      modal.dismiss(this.item)
    })
    return await modal.present()

вот как модал-А представляет модал-Б:


    const modal = await this.modalCtrl.create({ component: this.createPopup })

    modal.onDidDismiss().then(item => {

      this.modalCtrl.dismiss(item.data)
    })

    return await modal.present()

заранее спасибо

1 Ответ

1 голос
/ 03 апреля 2020

Установите id для каждого модального режима:

const modal = await this.modalCtrl.create({
  component: SelectorItemsPage,
  componentProps: {
    item: this.item,
    title: this.text,
    service: this.service,
    filterFunction: this.filterFunction,
    sorterFunction: this.sorterFunction,
    createPopup: this.createPopup
  },
  id: 'SelectorItems'
});

и

const modal = await this.modalCtrl.create({
    component: this.createPopup,
    id: 'Popup'
})

Поэтому при закрытии передайте id как параметр:

modal.dismiss(this.item, '', 'SelectorItems')

и

this.modalCtrl.dismiss(item.data, '', 'Popup')

Дополнительная информация: [1] https://github.com/ionic-team/ionic/issues/20369 [2] https://github.com/mluis/ionic4-modal-modal-issue/pull/1/files < все кредиты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...