在我的记忆中,用于设置默认单选按钮的 checked 属性一直存在,至少从 Material 9.x(可能更早)开始。
您可以尝试以下方法吗:
在你的 TS 代码中:
将您最喜欢的季节选择设置为常量字符串值:
favoriteSeason: string = 'Spring';
然后在您的 HTML 中为每个 mat-radio-button 控件设置 ngFor 循环中的 checked 属性,如下所示:
[checked]="favoriteSeason == season"
因此,您的广播组将如下所示:
<mat-radio-group
aria-labelledby="example-radio-group-label"
class="example-radio-group"
[(ngModel)]="favoriteSeason">
<mat-radio-button
class="example-radio-button"
*ngFor="let season of seasons"
[value]="season"
[checked]="favoriteSeason == season">
{{ season }}
</mat-radio-button>
</mat-radio-group>
以上内容应为您提供所需的默认选择。
编辑:您可能已经对上述内容进行了试验,发现如果我们在 TS 代码中设置初始值,则不需要 checked 条件。
尝试以下方法:
在您的 TS 代码中,不要分配绑定变量。就这样吧:
favoriteSeason: string;
接下来,添加以下 HTML 按钮:
<button (click)="setValue()">Press Here</button>
现在,定义按钮点击事件setValue如图:
setValue() {
this.favoriteSeason = 'Autumn';
}
上述运行时,没有初始选择。当您单击按钮时,季节将设置为'Autumn'!
以上显示您可以使用代码或使用选中属性设置默认单选选项。