我是新来的Angular ,我有一个项目,已经有一个用户名和密码输入登录.密码输入有一个显示密码的按钮.问题是,当我进入密码输入区域并按下Enter时,它会切换按钮以显示密码,而不是提交表单.我怎么才能改变这一点呢?

Component.html

<div style="text-align: center" class="centered">
  <form [formGroup]="form">
    <br>
    <mat-form-field appearance="fill">
      <mat-label>Username</mat-label>
      <input name="username" formControlName="username" matInput>
    </mat-form-field>
    <br>
    <mat-form-field appearance="fill">
      <mat-label>Password</mat-label>
      <input name="password" formControlName="password" matInput [type]="passwordVisible ? 'text' : 'password'">
      <button mat-icon-button matSuffix (click)="passwordVisible = !passwordVisible" [attr.aria-label]="'Hide password'"
              [attr.aria-pressed]="!passwordVisible">
        <mat-icon>{{passwordVisible ? 'visibility' : 'visibility_off'}}</mat-icon>
      </button>
    </mat-form-field>
    <br>
    <button (click)="login()" mat-raised-button>Login</button>
    <button (click)="navigateToRegister()" mat-raised-button color="primary" style="margin-left: 10px">Register</button>
  </form>
</div>

推荐答案

buttonDefault type表示可能导致此问题的submittry 将显示/隐藏按钮type更改为button

<button type="button" mat-icon-button matSuffix (click)="passwordVisible = !passwordVisible" [attr.aria-label]="'Hide password'"
              [attr.aria-pressed]="!passwordVisible">
        <mat-icon>{{passwordVisible ? 'visibility' : 'visibility_off'}}</mat-icon>
      </button>

Html相关问答推荐

电话号码验证器(Angular )

使用无限数量的元素创建特定的CSS网格

如何在悬停时使用 CSS 更改许多同级元素

是否有语义 HTML 可以澄清含义?

使用shinyjqui拖放到网格表中

jQuery 索引返回不正确的结果

带有数据 URI 的音频在 Chrome 中失败

使用 popover api 和 `

排列卡片时遇到困难

Google Apps 脚本 - RegEx 适用于小文本,但不适用于大文件?

如何使我的设计适合与我的框架尺寸不同的视口?

如何并排放置部分?

如何制作一个空的网格模板行来填充剩余空间?

Bootstrap 5 英雄

我如何让这个动画播放,然后停止,然后在设定的时间后再次播放? (CSS)

如果不透明的元素出现在下方,为什么不透明度会使一个元素出现在另一个元素上方?

为什么相同持续时间的转换需要不同的时间?

如何使列表的第一个元素比 css 中的其他元素大?

我正在try 向我预先存在的导航栏添加响应式汉堡包导航,但由于某种原因它没有显示

尽管设置了 width:100% left:0,但居中对齐的 CSS 动画并不对称