angular/components

Radios should have separate unique selection in different form containers

Open

#5983 opened on Jul 23, 2017

View on GitHub
 (10 comments) (4 reactions) (0 assignees)TypeScript (24,044 stars) (6,650 forks)batch import
P4area: material/radiohelp wanted

Description

Bug, feature request, or proposal:

Bug

What is the expected behavior?

Radio group controls with the same name should not correlate with each other if they belong to different forms.

What is the current behavior?

If you change value in one radio group, then the value will be unset for all the other radio groups with the same name in other forms

What are the steps to reproduce?

<form>
  <md-radio-group ngModel="Winter" name="season">
    <md-radio-button *ngFor="let season of seasons" [value]="season">
      {{season}}
    </md-radio-button>
  </md-radio-group>
</form>

Second form:

<form>
  <md-radio-group ngModel="Summer" name="season">
    <md-radio-button *ngFor="let season of seasons" [value]="season">
      {{season}}
    </md-radio-button>
  </md-radio-group>
</form>

Providing a Plunker (or similar) is the best way to get the team to see your issue. Plunker template: https://plnkr.co/edit/6xzFen4ayfMIv9JnYgW0?p=preview

What is the use-case or motivation for changing an existing behavior?

Currently it's impossible to implement a list (of similar items) if its items contain forms.

Which versions of Angular, Material, OS, TypeScript, browsers are affected?

@angular/cli: 1.2.0 node: 8.0.0 os: win32 x64 @angular/animations: 4.3.1 @angular/cdk: 2.0.0-beta.8 @angular/common: 4.3.1 @angular/compiler: 4.3.1 @angular/core: 4.3.1 @angular/forms: 4.3.1 @angular/http: 4.3.1 @angular/material: 2.0.0-beta.8 @angular/platform-browser: 4.3.1 @angular/platform-browser-dynamic: 4.3.1 @angular/platform-server: 4.3.1 @angular/router: 4.3.1 @angular/cli: 1.2.0 @angular/compiler-cli: 4.3.1 @angular/language-service: 4.3.1

Contributor guide