加载带有多个选项的材料选择并选中某些选项?

时间:2019-06-12 18:49:29

标签: angular-material

我正在尝试使用多个选项(例如this)来实现材料选择。但是我想根据从api返回的数据填充页面加载时的某些复选框。我该怎么做?我在任何地方都找不到checkedselected属性。

1 个答案:

答案 0 :(得分:1)

好吧,您有两种可能:

在您的示例中,您使用的是反应形式,因此在ngOnInit事件挂钩中,您可以设置formControl的值,如下所示:

ngOnInit() {
    this.toppings.setValue(['Onion', 'Mushroom'])
  }

如果您更喜欢模板驱动,请尝试使用[(value)],而不是[(ngModel)],如下所示:

// some html template
<mat-form-field>
  <mat-label>Toppings</mat-label>
  <mat-select [(ngModel)]="selected" multiple>
    <mat-option  *ngFor="let topping of toppingList" [value]="topping">{{topping}}</mat-option>
  </mat-select>
</mat-form-field>

在组件中:

selected = ['Onion', 'Mushroom']

这里是demo with the two possibilities,请选择制作披萨的方法:)