Ionic 3では、モーダルを閉じるのは非常に簡単でした:
constructor(viewCtrl: ViewController) {
this.viewCtrl.dismiss()
}
Ionic 4では、ViewController
をインポートできません(正確には、私のIDEはViewControllerのタイプをインポートしようとします)。
モーダルを却下する新しいアプローチは何だろうと思っていました。
ドキュメントによると、dismiss
メソッドは ModalController に移動したようです。
したがって、モーダルを却下するには、次の操作を行う必要があります。
constructor(modalCtrl: ModalController) {
modalCtrl.dismiss();
}
質問を投稿した後、答えを見つけるのは皮肉なことです。
ionic v4のドキュメントはここにありませんが、モーダルからdismiss
にアクセスする正しい方法は次のとおりです。
import { Components } from '@ionic/core';
@Component({
selector: 'app-some-modal',
templateUrl: 'some-modal.component.html',
styleUrls: ['some-modal.component.scss']
})
export class SomeModalComponent {
// modal is available here where created with:
// modalController.create({ component: SomeModalComponent})
@Input() modal: Components.IonModal;
onCancel = () =>
this.modal.dismiss('cancel');
}
modal
は実際にはHTMLIonModalElement
型です。私はComponents.IonModal
HTMLIonModalElement
はグローバルであるはずですが、何らかの理由でWebStorm/IntelliJからは見えません。