angular / angular/components

MatRadioButton: Error: No value accessor for form control with path...

Open
#14,850 7 comments 6 reactions 0 assignees View on GitHub
area: material/radio P3
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

#### What is the expected behavior?

I'm trying to use the `mat-radio-button` inside an HTML table (agreed, the form is a bit stange). It's an array of data, for each row I need 2 radio buttons. I'm constructing the `FormArray` dynamically and then bind it into the HTML.

Note: Being in a table, where each of the grouped radio buttons is inside it's own ``, I cannot use `` but that shouldn't be an issue as I'm using the `name` attribute as you would with native controls.

#### What is the current behavior?

Right now the behavior is that I'm getting an error saying `No value accessor for form control with path: 'phoneNumbers -> 0 -> phone1'` etc...and hence the databinding doesn't work.

On the other side, if I change nothing else, but the `mat-radio-button` with native HTML radio buttons, everything works as expected (see repro stackblitz below).

#### What are the steps to reproduce?
Providing a StackBlitz reproduction is the *best* way to share your issue.

StackBlitz starter: https://goo.gl/wwnhMV

Example using HTML native radio buttons: https://stackblitz.com/edit/angular-reactiveforms-dynamic-formarray-binding?file=app/person-edit.component.ts

(Failing) example using `mat-radio-button`: https://stackblitz.com/edit/angular-4k8hf4-3egfsd?file=app%2Fradio-overview-example.html

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

latest from the current docs (i.e. `v7.2`)

Contributor guide

Open the contributing guide

Research direction

Start by running the failing StackBlitz example in app/radio-overview-example.html and compare it with the native-radio example in app/person-edit.component.ts. Reproduce the reported error for the dynamic FormArray and trace the form-control path. Done means the mat-radio-button controls bind correctly in the table without the value-accessor error.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.