Я пытаюсь установить значение 2 полей <input matInput>
abnd <mat-select>
программно. Для ввода текста все работает как ожидалось, однако для <mat-select>
в представлении это поле похоже на то, что значение будет иметь значение null
. Но если я буду называть console.log(productForm.controls['category'].value
он печатает правильное значение, которое я устанавливал программным console.log(productForm.controls['category'].value
. Я что-то упустил?
Вот код:
form config:
productForm = new FormGroup({
name: new FormControl('', [
Validators.required
]),
category: new FormControl('', [
Validators.required
]),
});
значение настройки:
ngOnInit() {
this.productForm.controls['name'].setValue(this.product.name);
this.productForm.controls['category'].setValue(this.product.category);
}
}
HTML:
<mat-form-field>
<mat-select [formControlName]="'category'"
[errorStateMatcher]="errorStateMatcher">
<mat-option *ngFor="let category of categories" [value]="category">
{{category.name}}
</mat-option>
</mat-select>