Angular 5 + Material 设计: <mat-select> 如何设置默认值?

Angular 5 + Material Design: <mat-select> how to set the default value?

 <mat-form-field>
      <mat-select [formControl]="form.controls['defaultCategory']" [(ngModel)]="resource.categoryName" >
        <mat-option *ngFor="let category of categories | async" [value]="category._id" >
          {{ category.name }}
        </mat-option>
      </mat-select>
 </mat-form-field>

我尝试了很多东西。文档,关于 github 的一些错误报告仍然没有解决我的问题。

我只想预设一个默认值...

默认值存储在一个名为:resource.categoryName 的变量中。这些选项来自 mongodb 的集合,它们存储在类别[].

This picture shows the closed mat-select (no default value shown, but it should...)

opened mat-select

Here is my .ts. The important line is "this.resource.categoryName = this.subdoc['name'];". There i set the "resource.categoryName. If i try to console.log(this.resource.categoryName), then i get the name of the category...

在 .ts 中创建一个变量并确保它是一个字符串。之后使用默认类别的 ID 声明变量。 (在我的例子中,它只适用于 ID,而不适用于简单的名称)-感谢 Simeon、Hamid 和其他有关此问题的线程。

我看不到您的组件文件,但问题可能是您的 resource.categoryName 没有在组件初始化时设置值。尝试在您的 *.component.ts 文件中手动设置它。