Если вы хотите «избежать» того, что кнопка не выбрана - не только выдает сообщение об ошибке -:
Вам нужно знать о привязке данных . Angular поддерживает одно- и двустороннюю привязку данных. Это: переменные в .ts (модель), которые показаны в. html (представление). И изменение входных данных в. html может быть изменением переменной в .ts
Итак, мы используем [(ngModel)], чтобы присвоить значение одной переменной в .ts
<mat-button-toggle-group [(ngModel)]="value" multiple
name="fontStyle" aria-label="Font Style">
<mat-button-toggle value="opt1" (change)="change($event)">Opt1</mat-button-toggle>
<mat-button-toggle value="opt2" (change)="change($event)">Opt2</mat-button-toggle>
<mat-button-toggle value="opt3" (change)="change($event)">Opt3</mat-button-toggle>
</mat-button-toggle-group>
Изменение функции, проверьте длину «значения», если оно равно 1, сохраните в переменной значение, если равно 0, восстановите переменную
change(evt: any) {
if (this.value.length === 1)
this.oldValue = this.value[0];
if (this.value.length === 0)
this.value = [this.oldValue];
}
См. В stackblitz