如何将 matButton 设置为活动(聚焦)Angular?

OPV*_*OPV 7 angular-material angular

当用户第一次和下一次进入页面时,放置的按钮不会聚焦并以灰色突出显示。我尝试设置自动对焦:

<button mat-raised-button color="primary" autofocus>{{'recovery' | translate}}</button>
Run Code Online (Sandbox Code Playgroud)

我认为这是 Material 按钮的缺陷。

如何在最后的 Angular 中设置聚焦材质按钮?

Ami*_*ian 11

您可以将焦点设置到组件生命周期钩子ngAfterViewInit处的按钮,例如:

模板

<button mat-raised-button color="primary" #btnRef="matButton">{{'recovery' | translate}}</button>
Run Code Online (Sandbox Code Playgroud)

.ts文件

...
@ViewChild('btnRef') buttonRef: MatButton;
...
ngAfterViewInit() {
   this.buttonRef.focus();
}
...
Run Code Online (Sandbox Code Playgroud)

希望有帮助。

  • 当我尝试专注于打开的 matDialogModal 内的按钮时,这对我不起作用。 (2认同)

tom*_*c38 8

<button mat-button #btnFocus=matButton [autofocus]="btnFocus.focus()">Post</button>
Run Code Online (Sandbox Code Playgroud)


gri*_*son 7

看起来有角材料已经有这方面的指令。检查角度 A11y

<button mat-button cdkFocusInitial>Ok</button>
Run Code Online (Sandbox Code Playgroud)