Material 按钮切换与模型不同步

Material Button Toggle is not sync with model

有时我需要切换另一个按钮而不是我正在单击的按钮。看演示: Demo

如您所见,我尝试通过以下方式做到这一点:

    onToggleGroupChange(event: MatButtonToggleChange) {
    const { value } = event;

    const products =
      event && value.length ? value.map(item => item.value) : undefined;

    if (products) {
      if (products.includes("TWO")) {
        this.selectedItems = ["ONE"];
      }
    }
  }

因此,当我切换按钮编号为 2 的按钮时,应切换编号为 1 的按钮。

你可以看到:

ng-reflect-checked="false"

但样式未更新且仍处于切换状态。

我是不是做错了什么?有没有办法实现我想要的?

好的,所以解决方案是替换:

   <mat-button-toggle-group
      [multiple]="true"
      (change)="onToggleGroupChange($event)"
    >

   <mat-button-toggle-group
      [multiple]="true"
      (change)="onToggleGroupChange($event)"
      [value]="this.selectedItems"
    >
在提供值输入之前,

mat-button-toggle-group 是不受控制的组件。双向数据绑定不是基于 mat-toggle-buttons 的值,但它有自己的模型。

解决方案:DEMO