Angular 5
i是动态从数组中填充单个按钮组,并希望默认选择第一个单选按钮。我可以使用ngIf...then
构造来做到这一点吗?如果是这样,怎么样?
另外,也欢迎其他任何解决方案。
编辑:我当前不起作用的实现:
<mat-radio-group class="example-radio-group" [(ngModel)]="scheduleEvent" name="schedule" #rg1 ng-checked="">
<mat-radio-button class="example-radio-button" style="margin-right:10px;" *ngFor="let schedule of schedules; let idx=index"
[value]="schedule" (change)="onSelectionChanged(idx)" *ngIf="idx===0 then selectButtonBlock">
<ng-template #selectButtonBlock *ng-checked="true"></ng-template>
{{schedule}}
</mat-radio-button>
</mat-radio-group>
scheduleEvent
通过[(ngModel)]
绑定,因此您可以更改模型,并且视图也将更新。您默认可以选择任何项目,例如:
ngAfterViewInit() {
this.scheduleEvent = this.schedules[0];
}
这是工作示例:https://stackblitz.com/edit/angular-nxuucw?file=pp/radio-ng-model-example.ts
非常简单。有一个称为checked
的属性,我们可以动态设置为True。这样的东西:
<mat-radio-group class="example-radio-group" [(ngModel)]="scheduleEvent" name="schedule" #rg1 ng-checked="">
<mat-radio-button
class="example-radio-button"
style="margin-right:10px;"
*ngFor="let schedule of schedules; let idx=index"
[value]="schedule"
(change)="onSelectionChanged(idx)"
[checked]="idx===0" // Add this line to your code
>
{{schedule}}
</mat-radio-button>
</mat-radio-group>