无法select Angular Material chip/chips 表示此芯片已经selected?

Unable to select Angular Material chip/chips and indicate that this chip has been selected?

我无法实现芯片选择并提示用户已选择该芯片

我有以下 html 模板代码:

<mat-chip-list [multiple]="true" [selectable]="true">
  <mat-chip selected (selectionChange)="onSelectedChip($event)" [selectable]="true"  *ngFor="let size of sizes | sizeEnumToSize">{{ size }}</mat-chip>
</mat-chip-list>

最初我只是想让所有芯片都处于选中状态。我希望芯片能够在视觉上改变其状态以向用户显示它已被选中。我也尝试过 [selected]="true" 但这会产生与预期相同的正常列表。

我在这里错过了什么?

您的观察是正确的:仅使用 [selectable]="true" 无法指示是否选择了单个芯片。我想,你需要一个 boolean 值来指示每个芯片的状态。

类似于:

// TS
sizes = [{ selected: true, name: 'Foo' }, { selected: true, name: 'Bar' }];

// HTML
<mat-chip-list [multiple]="true" [selectable]="true">
  <mat-chip *ngFor="let size of sizes"
            [selected]="size.selected"
            (click)="size.selected = !size.selected">{{size.name}}</mat-chip>
</mat-chip-list>