将输入集中在自定义 Angular MatFormFieldControl 中

Focus an input inside a custom Angular MatFormFieldControl

如何让我的父组件在页面加载时专注于自定义 MatFormFieldControl 中的 asset1 输入字段*?

父组件HTML:

    <mat-form-field class="symbol">
      <symbol-input
        name="symbol"
        placeholder="Symbol"
        ngModel
        #symbolInput="ngModel"
        [(ngModel)]="symbol"></symbol-input>
    </mat-form-field>

自定义 MatFormFieldControl HTML:

<div [formGroup]="parts">
  <input class="asset1" formControlName="asset1" size="12">
  <span class="input-spacer">&frasl;</span>
  <input class="asset2" formControlName="asset2" size="12">
</div>

*我假设我将在父组件中实现 AfterViewInit 并希望触发一个 focus 事件,该事件将逐渐下降?

@IvanS95 为我指出了正确的方向。

向我的父组件添加了 ViewChild

@ViewChild(SymbolInputComponent) set focus(sic: SymbolInputComponent) {
    sic.autofocus = true;
};

然后我在我的自定义 MatFormFieldControl 中添加了一个 public 变量 autofocus 设置为 false。如果我需要在给定页面上多次使用此字段。

然后我将 autofocus 添加到我的 MatFormFieldControl 模板中:

<div [formGroup]="parts">
  <input class="asset1" formControlName="asset1" size="12" [autofocus]="autofocus">
  <span class="input-spacer">&frasl;</span>
  <input class="asset2" formControlName="asset2" size="12">
</div>