我有一个垫子选择。当我第一次显示表单时,我希望它在加载数据后选择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;
答案 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>