1 回答
TA贡献1799条经验 获得超8个赞
您在评论中提到了undefined错误。这表明您正在尝试在数据可用之前渲染视图。在您的元素上使用*ngIf以仅在数据可用时呈现它。
<mat-form-field *ngIf="competitionsList">
</mat-form-field>
当您使用迭代数组时,*ngFor不需要使用索引i。
替换{{ comp[i].name }}为{{ comp.name }}.
那么你的代码将如下所示
<mat-form-field *ngIf="competitionsList">
<mat-select placeholder="Select Competition">
<mat-option *ngFor="let comp of competitionsList; let i = index" [value]="comp">
{{ comp.name }}
</mat-option>
</mat-select>
</mat-form-field>
StackBlitz 上的现场演示: https://stackblitz.com/edit/angular-material-with-angular-v5-eukdkc
编辑:您应该将响应格式化compList为competitionsList数组。
将您的subscribe()方法更改为
.subscribe(
compsList => {
this.competitionsList = Object.values(compList[0]);
});
添加回答
举报