Skip to content

fix(material/form-field): support signal forms in MatFormFieldControl - #33850

Merged
crisbeto merged 2 commits into
angular:mainfrom
crisbeto:32072/form-field-signal-forms
Sep 22, 2026
Merged

crisbeto merged 2 commits into
angular:mainfrom
crisbeto:32072/form-field-signal-forms

Conversation

@crisbeto

Copy link
Copy Markdown
Member

Updates MatFormFieldControl to allow an ngField property for those directives that support signal forms. It also makes the following changes:

  • Removes value since it isn't used anywhere and it can prevent apps from implementing FormValueControl.
  • Makes stateChanges optional since it shouldn't be necessary for signal-based components.
  • Allows focused to be a signal.
  • Allows empty to be a signal.
  • Allows shouldLabelFloat to be a signal.
  • Allows required to be a signal.
  • Allows disabled to be a signal.
  • Allows errorState to be a signal.
  • Allows autofilled to be a signal.
  • Allows userAriaDescribedBy to be a signal.

@crisbeto crisbeto added merge: preserve commits When the PR is merged, a rebase and merge should be performed target: rc This PR is targeted for the next release-candidate labels Sep 22, 2026
@angular-robot angular-robot Bot added area: docs Related to the documentation area: material/form-field labels Sep 22, 2026
@crisbeto
crisbeto force-pushed the 32072/form-field-signal-forms branch from 7d7ca6f to 89973a7 Compare September 22, 2026 09:51
Updates `MatFormFieldControl` to allow an `ngField` property for those directives that support signal forms. It also makes the following changes:
* Removes `value` since it isn't used anywhere and it can prevent apps from implementing `FormValueControl`.
* Makes `stateChanges` optional since it shouldn't be necessary for signal-based components.
* Allows `focused` to be a signal.
* Allows `empty` to be a signal.
* Allows `shouldLabelFloat` to be a signal.
* Allows `required` to be a signal.
* Allows `disabled` to be a signal.
* Allows `errorState` to be a signal.
* Allows `autofilled` to be a signal.
* Allows `userAriaDescribedBy` to be a signal.
Rewrites the custom form field guide and related example to be based on signal forms.
@crisbeto
crisbeto force-pushed the 32072/form-field-signal-forms branch from 89973a7 to b7d3eba Compare September 22, 2026 13:17
@crisbeto
crisbeto marked this pull request as ready for review September 22, 2026 18:40
@crisbeto crisbeto added the action: merge The PR is ready for merge by the caretaker label Sep 22, 2026
@crisbeto
crisbeto merged commit 4bd541f into angular:main Sep 22, 2026
30 of 32 checks passed
@crisbeto

Copy link
Copy Markdown
Member Author

This PR was merged into the repository. The changes were merged into the following branches:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action: merge The PR is ready for merge by the caretaker area: docs Related to the documentation area: material/form-field merge: preserve commits When the PR is merged, a rebase and merge should be performed target: rc This PR is targeted for the next release-candidate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants