我的组件中有这个表单(FormGroup):
public form: FormGroup;
this.form = this.formBuilder.group({
address: this.formBuilder.group({
country: ['', [Validators.minLength(2)]]
})
});
,该组件的模板如下所示:
<form [formGroup]="form" (ngSubmit)="onSubmit()">
<div formGroupName="address">
<mat-form-field style="width:95%">
<mat-select placeholder="Country" formControlName="country" (selectionChange)="countryOfAddressChanged(country)">
<mat-option *ngFor="let countryType of countryTypes" [value]="countryType">
{{countryType | translate}}
</mat-option>
</mat-select>
</mat-form-field>
</div>
</form>
如果我选择国家/地区 - 国家/地区仍然未定义 - 那么 formControlName =“country”不能作为的属性 - 因此countryOfAddressChanged(国家/地区)的调用没有工作,因为国家是不确定的。 我需要做些什么才能让它发挥作用。
答案 0 :(得分:1)
countryOfAddressChanged(country)
country
未在任何地方定义,因此它将为undefined
。如果您想获取表单控件country
的值,可以通过从form.get('country').value
<mat-select placeholder="Country" formControlName="country" (selectionChange)="countryOfAddressChanged(form.get('country').value)">
<mat-option *ngFor="let countryType of countryTypes" [value]="countryType">
{countryType | translate}}
</mat-option>
</mat-select>