Я использую трафаретный ионный pwa, он работает для меня очень хорошо, но теперь я застрял с закрытием модального режима.Как это сделать изнутри?(из модального?) кто-нибудь знает?: D В ионном был контроллер вида, но в этой комбинации (трафарет-ионный) я не могу найти его.
В настоящее время я использую:
- "@ ionic / core": "4.0.0-beta.11
- " @ stencil / core ":" 0.12.4 "
Я пробовал
@Prop({ connect: 'ion-modal-controller' }) modalCtrl: HTMLIonModalControllerElement;
и
@Prop({ connect: 'ion-menu-controller' }) menuCtrl: HTMLIonMenuControllerElement;
В обоих случаях введенный контроллер не очень полезен
Где модальное окно открывается так:
this.modalToShow = await this.modalCtrl.create({
component: 'add-to-inventory-modal'
});
this.modalToShow.present();
Есть идеи?
Спасибо!
Редактировать v1
Пытаясь получить помощь в канале стека, я получил помощь от одного парня.
Временное (я думаю) решение -
@Element() el: HTMLElement;
closeModal(){
this.el.closest('ion-modal') as HTMLIonModalElement).dismiss()
}
Ссылка на это обсуждение здесь:
https://stencil -worldwide.slack.com / archives / C789G3X1R / p1537797772000100?Решение:
В вашем modalController
:
@Prop({ connect: 'ion-modal-controller' }) modalCtrl: HTMLIonModalControllerElement;
async openModal() {
const modalController = await this.modalCtrl.componentOnReady();
const modal = await modalController.create({
component: 'my-modal-component',
componentProps: { modalController },
});
await modal.present();
}
И в вашем my-modal-component
@Prop() modalController: HTMLIonModalControllerElement;
async dismiss() {
await this.modalController.dismiss();
}
Благодаря simonhaenisch