我正在将默认值设置为带有反应形式的下拉菜单。 我做到了
HTML
<form [formGroup]="estadosForm" (ngSubmit)="aplicarCambios()">
<div class="campo campo-x2">
<mat-form-field>
<mat-label>Descripcion</mat-label>
<input matInput formControlName="descripcionForm">
</mat-form-field>
</div>
<div class="campo campo-x2">
<mat-form-field>
<mat-label>Clase de estado</mat-label>
<mat-select formControlName="clasesDeEstadoForm" (selectionChange)="onChangeClaseDeEstado($event.source.value)">
<mat-option *ngFor="let claseDeEstado of clasesDeEstado" [value]="claseDeEstado">
{{claseDeEstado.descripcion}}
</mat-option>
</mat-select>
</mat-form-field>
</form>
打字稿
this.f.descripcionForm.setValue(estado.descripcion);
this.f.clasesDeEstadoForm.setValue(estado.idClaseEstado, { onlySelf: true });
这会将值设置为表单,但在HTML HTML中未显示为默认值,
我尝试将[(value)]
属性放置在mat-select
标记中,但没有用
答案 0 :(得分:0)
首先将mat-option的值更改为claseDeEstado的ID。例如
<mat-option *ngFor="let claseDeEstado of clasesDeEstado" [value]="claseDeEstado.id">
{{claseDeEstado.descripcion}}
</mat-option>
然后设置选定值的ID。
this.f.descripcionForm.setValue(claseDeEstado.id);