设置垫选的默认值

时间:2020-07-02 00:44:40

标签: angular angular-material

我有一个垫子选择。当我第一次显示表单时,我希望它在加载数据后选择select中的第一项。我该怎么办?

  <mat-select 
          placeholder="period"
          (selectionChange)="selectperiod($event)"
          (ngModel)="(periodoptions)"
        >
          <mat-option
            *ngFor="let p of periodoptions | async"
            [value]="p.periodid"
          >
            {{ p.periodstart }}
          </mat-option>
        </mat-select>

使用此调用函数提取剩余数据

 of(this.getperiods()).subscribe(pp => {
      this.periodoptions = pp;

2 个答案:

答案 0 :(得分:0)

如果要使用ngModel,只需将 (ngModel) 替换为 [(ngModel)] 。 您也可以将 ngModel 替换为 [(value)] ,以避免使用ngModel模块。

此外,如果要选择数组的第一项,则将 periodoptions 分配给ngModel是错误的,因为每个mat-option值均为 p.periodid 。您将不得不使用 periodoptions [0] .periodid

答案 1 :(得分:0)

也许这可以帮助您:

<mat-select placeholder="period" (selectionChange)="selectperiod($event)" [(ngModel)]="periodoptions">
    <mat-option>Default Option</mat-option>
    <mat-option *ngFor="let p of periodoptions | async" [value]="p.periodid">
        {{ p.periodstart }}
    </mat-option>
</mat-select>