首页 > 解决方案 > 当键盘以模态关闭按钮打开时不起作用(Ionic 5)

问题描述

该问题仅发生在 iOS 设备上。我在模式中有一个 ion-textarea ,里面有一个按钮,它执行的唯一操作是

dismissModal() { this.modalController.dismiss(); }

问题是当我点击它时,只有键盘被隐藏,我必须再次点击它才能执行模式的关闭。我怎样才能避免这种行为?

标签: htmlangularionic5

解决方案


我的解决方案:

在 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 设备,它被迫不关闭键盘

在 component.ts 中:

 dismissModal() {
    if (this.platform.is('ios')) {
      Keyboard.hide();
      this.modalController.dismiss();
    } else {
      this.modalController.dismiss();
    }
  }

这样,在调用dismiss函数之前,不会执行键盘关闭事件。我正在使用插件@capacitor/keyboard


推荐阅读