当键盘在模态关闭按钮中打开时不起作用(Ionic 5)
When keyboard is open in modal dismiss button does not work (Ionic 5)
该问题仅发生在 iOS 设备上。我在模式中有一个 ion-textarea,里面有一个按钮,它执行的唯一操作是
dismissModal() { this.modalController.dismiss(); }
问题是当我点击它时,只有键盘被隐藏,我必须再次点击它才能执行模态窗口的关闭。我怎样才能避免这种行为?
我的解决方案:
在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
该问题仅发生在 iOS 设备上。我在模式中有一个 ion-textarea,里面有一个按钮,它执行的唯一操作是
dismissModal() { this.modalController.dismiss(); }
问题是当我点击它时,只有键盘被隐藏,我必须再次点击它才能执行模态窗口的关闭。我怎样才能避免这种行为?
我的解决方案:
在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