Title: Signal forms - radio does not reflect form model signal initial state if value attribute is enum · Issue #66402 · angular/angular · GitHub
Open Graph Title: Signal forms - radio does not reflect form model signal initial state if value attribute is enum · Issue #66402 · angular/angular
X Title: Signal forms - radio does not reflect form model signal initial state if value attribute is enum · Issue #66402 · angular/angular
Description: Which @angular/* package(s) are the source of the bug? forms Is this a regression? No Description When trying to use enum as a value attribute for radio button, radio button does not reflects initial state of form model signal. If i use ...
Open Graph Description: Which @angular/* package(s) are the source of the bug? forms Is this a regression? No Description When trying to use enum as a value attribute for radio button, radio button does not reflects initi...
X Description: Which @angular/* package(s) are the source of the bug? forms Is this a regression? No Description When trying to use enum as a value attribute for radio button, radio button does not reflects initi...
Opengraph URL: https://github.com/angular/angular/issues/66402
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Signal forms - radio does not reflect form model signal initial state if value attribute is enum","articleBody":"### Which @angular/* package(s) are the source of the bug?\n\nforms\n\n### Is this a regression?\n\nNo\n\n### Description\n\nWhen trying to use `enum` as a `value` attribute for `radio` button, radio button does not reflects initial state of form model signal. \nIf i use for example \n```ts\n readonly projectFormModel = signal\u003cProjectFormModel\u003e({ name: 'test', status: ProjectStatus.CLOSED });\n readonly projectForm = form(this.projectFormModel);\n```\n\n ```html\n \u003cinput\n type=\"radio\"\n [field]=\"projectForm.status\"\n [value]=\"projectStatusEnum.CLOSED\"\n id=\"btnradio2\" /\u003e\n\u003clabel\n class=\"btn btn-outline-primary\"\n for=\"btnradio2\"\u003e\n {{ projectStatusEnum.CLOSED }}\n\u003c/label\u003e\n```\nButton should be marked as selected. But it works correctly after I click the html radio button.\n\nIt works for initial state if i use plain string for value, ie: `value=\"closed\"`\n\nEnum values work OK in reactive forms, but not with signal forms.\n\nExample link bellow.\n\nBest regards.\n\n\n### Please provide a link to a minimal reproduction of the bug\n\nhttps://stackblitz.com/~/github.com/kle-pra/signal-form-enums?file=package.json\n\n### Please provide the exception or error you saw\n\n```true\n/\n```\n\n### Please provide the environment you discovered this bug in (run `ng version`)\n\n```true\nAngular CLI : 21.0.5\nAngular : 21.0.7\nNode.js : 24.11.0\nPackage Manager : npm 11.6.3\nOperating System : linux x64\n\n┌───────────────────────────────┬───────────────────┬───────────────────┐\n│ Package │ Installed Version │ Requested Version │\n├───────────────────────────────┼───────────────────┼───────────────────┤\n│ @angular-devkit/build-angular │ 21.0.5 │ ^21.0.5 │\n│ @angular/build │ 21.0.5 │ ^21.0.5 │\n│ @angular/cli │ 21.0.5 │ 21.0.5 │\n│ @angular/common │ 21.0.7 │ 21.0.7 │\n│ @angular/compiler │ 21.0.7 │ 21.0.7 │\n│ @angular/compiler-cli │ 21.0.7 │ 21.0.7 │\n│ @angular/core │ 21.0.7 │ 21.0.7 │\n│ @angular/forms │ 21.0.7 │ 21.0.7 │\n│ @angular/language-service │ 21.0.7 │ 21.0.7 │\n│ @angular/localize │ 21.0.7 │ ^21.0.7 │\n│ @angular/platform-browser │ 21.0.7 │ 21.0.7 │\n│ @angular/router │ 21.0.7 │ 21.0.7 │\n│ @angular/service-worker │ 21.0.7 │ 21.0.7 │\n│ rxjs │ 7.8.2 │ 7.8.2 │\n│ typescript │ 5.9.3 │ 5.9.3 │\n│ zone.js │ 0.16.0 │ ~0.16.0 \n```\n\n### Anything else?\n\n","author":{"url":"https://github.com/kle-pra","@type":"Person","name":"kle-pra"},"datePublished":"2026-01-08T13:37:04.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/66402/angular/issues/66402"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:49e47b62-8e82-c43d-92d3-9e9f2426fa83 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 9786:3A1ACB:255690:328540:6964ECEB |
| html-safe-nonce | ecad392c44d82c65bddbb5a1aad289f941cb361a92a346de90308b9b5d4eabe2 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5Nzg2OjNBMUFDQjoyNTU2OTA6MzI4NTQwOjY5NjRFQ0VCIiwidmlzaXRvcl9pZCI6IjUzMDA0NTkwMDMzNTMyOTYxMDciLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 5cc3d56c9ff63d7f741563254dfa31ed318aa03372a7a7a2896447820f88af39 |
| hovercard-subject-tag | issue:3792935581 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/angular/angular/66402/issue_layout |
| twitter:image | https://opengraph.githubassets.com/6f9ec04d06a93558c03ec07242656ec328bf7bf2d6d3ebd0ff2af80dcb081e0f/angular/angular/issues/66402 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/6f9ec04d06a93558c03ec07242656ec328bf7bf2d6d3ebd0ff2af80dcb081e0f/angular/angular/issues/66402 |
| og:image:alt | Which @angular/* package(s) are the source of the bug? forms Is this a regression? No Description When trying to use enum as a value attribute for radio button, radio button does not reflects initi... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | kle-pra |
| hostname | github.com |
| expected-hostname | github.com |
| None | 53cd8ae9b65b7c4a0ad545ffeb3216839259a92733857ba426906c0655c5419d |
| turbo-cache-control | no-preview |
| go-import | github.com/angular/angular git https://github.com/angular/angular.git |
| octolytics-dimension-user_id | 139426 |
| octolytics-dimension-user_login | angular |
| octolytics-dimension-repository_id | 24195339 |
| octolytics-dimension-repository_nwo | angular/angular |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 24195339 |
| octolytics-dimension-repository_network_root_nwo | angular/angular |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | c140758368c0a01881f61b83770bd75cfe81e2c4 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width