Когда клавиатура открыта в режиме модального отключения, кнопка не работает (Ionic 5)

#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