如何将默认选择值设置为以角反应形式进行垫选?

时间:2020-01-27 16:26:14

标签: angular

我正在将默认值设置为带有反应形式的下拉菜单。 我做到了

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标记中,但没有用

1 个答案:

答案 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);