After adding [(ngModel)] to a radio button group, the default [checked] no longer works

I think, you don't need this [checked]="choice === defaultChoice". Try this :

<input type="radio"
       id="{{ groupName + choice }}"
       name="{{groupName}}"
       [value]="choice"
       [(ngModel)]="defaultChoice"
       (ngModelChange)="choose($event)" />

When [value] = [(ngModel)] the radio is selected.


I was able to emit the value and retain the default styling with minimal changes by altering the input's template to:

<input type="radio"
       id="{{ groupName + choice }}"
       name="{{groupName}}"
       value="{{ choice }}"
       [checked]="choice === defaultChoice"
       (click)="choose($event['target']['value'])" />

...which I find kind of hacky. It also doesn't explain why adding data/property binding broke it, so I'm open to more suggestions.