首页 > 解决方案 > 选中的属性在 mat-radio-button 中不起作用

问题描述

我正在创建一个带有选中属性的单选按钮,但它没有显示为选中状态

<mat-radio-group name="radioOpt1" [(ngModel)]="selectedRadio" [ngModelOptions]="{standalone: true}" (change)="radioChange($event)">
<mat-radio-button value="own" checked name="own">Own</mat-radio-button>
<mat-radio-button value="competitor" name="own">competitor</mat-radio-button> </mat-radio-group>

我希望默认选中第一个单选按钮

标签: angular-materialangular7

解决方案


如果使用,ngModel则需要将单选按钮的ngModel传递给.

<mat-radio-group name="radioOpt1" [(ngModel)]="selectedRadio" 
   [ngModelOptions]="{standalone: true}" (change)="radioChange($event)">
  <mat-radio-button value="own" name="own">Own</mat-radio-button>
  <mat-radio-button value="competitor" name="own">competitor</mat-radio-button> 
</mat-radio-group>

和 ts 文件

 selectedRadio = 'own'; //default value

 radioChange(e){
   console.log(this.selectedRadio)
 }

或动态填充

 <mat-radio-group name="radioOpt1" [(ngModel)]="selectedRadio"
    [ngModelOptions]="{standalone: true}" (change)="radioChange($event)">
   <mat-radio-button *ngFor="let but of list" [value]="but.id" name="own" >
      {{but.name}}
   </mat-radio-button>
 </mat-radio-group>

ts文件

  list = [{ "name": "own", id: "own"},{ "name": "competitor", id: "competitor"}];

  selectedRadio =this.list[0].id;

推荐阅读