Демонстрация Stackblitz
Вы смешиваете реактивные формы с шаблонными формами. Не делай этого. Придерживайтесь одной из них, предпочтительно реактивных форм:
<form [formGroup]="_form">
<select formControlName="temas"
*ngIf="!nomostrarsubarea"
style="width:120px">
<option *ngFor="let temario of temas"
[value]="temario.id">
{{temario.NameTema}}
</option>
</select>
</form>
_form: FormGroup;
constructor(private _fb: FormBuilder) {
this._form = this._fb.group({
temas: defaultTemarioId,
});
// If you want to change it later, you can do:
//
// this._form.patchValue({temas: newTemarioId});
// This replaces the `(change)` event you where listening to on the template
this._form.get('temas').valueChanges.subscribe((temarioId: any) => {
console.log(`Selected tema id: ${temarioId}`);
});
}
В приведенном выше коде идентификатор, установленный для элемента управления формы, будет выбран автоматически (нет необходимости в атрибуте [selected]
в элементе управления select. ).