4

我使用角度材料库创建了一个简单的角度应用程序,其中我使用了对话框组件。当用户打开对话框时,它将具有角材料的步进组件。它有 3 个步骤。每个步骤都有角度反应形式。我面临的问题是,当用户打开对话框焦点直接在步进器标题的第一步上完成。我想在第一步中专注于反应形式的第一种形式控制。

<mat-form-field class="name">
<input
  matInput
  formControlName="description"
  #name
/>
</mat-form-field>

component.ts文件中,我写了

@ViewChild('name', { static: true, read: ElementRef }) name: ElementRef;

ngAfterViewInit方法中,我在名称变量上调用了焦点方法,例如:

ngAfterViewInit() {
   this.name.nativeElement.focus();
}

它可以工作,但是我得到的输出就像它首先关注FormControl然后再将焦点移到步进头的第一步。我应该如何防止步进头的第一步集中注意力并首先关注FormControl

4

1 回答 1

1

在需要初始焦点的元素上使用此指令:cdkFocusInitial如果这还不够,请看这里

于 2020-01-17T06:09:48.953 回答