Я хочу знать, как лучше всего справиться со следующей ситуацией. У меня есть форма с парой полей, которые включают тег выбора.
<form [formGroup]="myForm">
<select formControlName="" >
<option *ngFor="let c of countries" value="c" (select)="onSelect(c)">{{c.name}}</option>
</select>
</form>
export class AppComponent {
constructor(private FormBuilder: FormBuilder) {}
public myForm: FormGroup;
countries = [
{ id: 1, name: "United States" },
{ id: 2, name: "Australia" },
{ id: 3, name: "Canada" },
{ id: 4, name: "Brazil" },
{ id: 5, name: "England" },
];
ngOnInit() {
this.myForm = this.FormBuilder.group({
country: new FormGroup({
id: new FormControl("", []),
name: new FormControl("", []),
}),
});
}
onSelect(option) {
//tried this but not updating the myForm.value
this.myForm.controls['country'] = this.fb.group({
id: new FormControl(event.detail.id, []),
name: new FormControl(event.detail.name, [])
});
}
}
, поэтому мой вопрос заключается в том, как мне сопоставить выбранное значение с formObject. И вы хотите узнать, как обновить myForm в onSelect () {}, как указать formControlName в теге select или есть какой-либо упрощенный способ сделать это.