Android 键盘上的下一步按钮未提交表单

Next button on Android keyboard not submitting form

我有一个电子邮件和密码输入以及一个提交按钮。 当我专注于第一个输入时,我得到键盘上的下一个按钮,这将移动到密码输入。在密码输入上,按钮显示略有不同(见图片)。

我正在使用 Reactive Forms 来验证输入。
我希望它在输入密码时按下下一个按钮(在右下角)时提交表单,但事实并非如此。

我已经尝试了很多东西,但在这里找不到任何帮助。

代码:

<form [formGroup]="loginForm" (ngSubmit)="onSubmit()" #formCtrl="ngForm">
      <ion-grid>
        <ion-row class="row-padding-one"></ion-row>
        <ion-row>
          <ion-col size-sm="6" offset-sm="3" class="input-col">
            <ion-item class="custom-item" lines="none">
              <ion-input 
                class="login-input"
                type="text"
                formControlName="email"
                [formControl]="loginForm.controls['email']"
                placeholder="E-Mail"
                required>
              </ion-input>
              <div *ngFor="let validation of loginValidationMessages.email">
                <div class="error-message"
                 *ngIf="loginForm.get('email').hasError(validation.type) && loginForm.get('email').touched">
                  {{validation.message}}</div>
              </div>
            </ion-item>

            <ion-item class="custom-item" lines="none">
              <ion-input
                class="login-input"
                type="password"
                formControlName="password"
                placeholder="Password"
                required
              ></ion-input>
              <div *ngFor="let validation of loginValidationMessages.password">
                <div class="error-message" 
                  *ngIf="loginForm.get('password').hasError(validation.type) && loginForm.get('password').touched">
                  {{validation.message}}</div>
              </div>
            </ion-item> 
          </ion-col>
        </ion-row>
        <ion-row class="button-row">
          <ion-col size-sm="6" offset-sm="3">
            <ion-button
              class="btn-login"
              type="submit"
              color="primary"
              expand="block">Login
            </ion-button>
          </ion-col>
        </ion-row>
      </ion-grid>
    </form>

我得到了这个解决方案来让它工作,但它有点麻烦,如果有更好的解决方案,我们将不胜感激。

添加到 .ts

  @HostListener('document:keydown', ['$event'])

  docs(event) {
    // This is a hack to submit the form on Android
    if (event.keyCode === 13) {
      this.onSubmit();
    }
  }

你可以使用(keyup.enter)

 <ion-input
 class="login-input"
 type="password"
 formControlName="password"
 placeholder="Password"
 required
 (keyup.enter)="submitLogin()">
 </ion-input>


submitLogin()
{
handle your submit
}