#html #angular #ionic5
Вопрос:
проблема возникает только на устройствах iOS. У меня есть область ионного текста внутри модального, и внутри нее кнопка, единственное действие, которое она выполняет,-это
dismissModal() { this.modalController.dismiss(); }
Проблема в том, что, когда я нажимаю на нее, скрыта только клавиатура, и мне приходится нажимать на нее снова, чтобы она выполняла закрытие модала. Как я могу избежать такого поведения?
Ответ №1:
Мое решение:
В HTML:
<ion-button (mousedown)="dismissModal(); questionTextarea.setFocus()" *ngIf="platform.is('ios')" > <ion-icon name="close" slot="icon-only"></ion-icon> </ion-button> <ion-button (mousedown)="dismissModal()" *ngIf="!platform.is('ios')" > <ion-icon name="close" slot="icon-only"></ion-icon> </ion-button>
таким образом, только для устройств iOS он вынужден не закрывать клавиатуру
И в компоненте.ts:
dismissModal() { if (this.platform.is('ios')) { Keyboard.hide(); this.modalController.dismiss(); } else { this.modalController.dismiss(); } }
таким образом, событие закрытия клавиатуры не будет выполняться до тех пор, пока не будет вызвана функция «Закрыть». Я использую плагин @capacitor/keyboard