如何使父组件在页面加载时关注自定义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">⁄</span>
<input class="asset2" formControlName="asset2" size="12">
</div>
*我假设我将在父组件中实现AfterViewInit
,并希望触发一个focus
事件?
@IvanS95为我指明了正确的方向。
为我的父组件添加了一个ViewChild
:
@ViewChild(SymbolInputComponent) set focus(sic: SymbolInputComponent) {
sic.autofocus = true;
};
然后,我在自定义MatFormFieldControl
中添加了一个设置为false的公共变量autofocus
。以防我需要在给定的页面上多次使用此字段。
然后我将autofocus
添加到我的MatFormFieldControl
模板中:
<div [formGroup]="parts">
<input class="asset1" formControlName="asset1" size="12" [autofocus]="autofocus">
<span class="input-spacer">⁄</span>
<input class="asset2" formControlName="asset2" size="12">
</div>