final-form / react-final-form

🏁 High performance subscription-based form state management for React
https://final-form.org/react
MIT License
7.39k stars 481 forks source link

[Feature Request] Add new prop to specify changes to specific form fields #1021

Open jatin33 opened 1 year ago

jatin33 commented 1 year ago

Are you submitting a bug report or a feature request?

Feature Request

What is the current behavior?

Currently onChange handler on FormSpy component gets invoked for changes in any form field

<FormSpy
    subscription={{ values: true }}
    onChange={props => {
      console.log('Form validity changed to', props.valid)
    }}
  />

What is the expected behavior?

We can have a new configuration or prop to form spy which will help us track changes to only specific form fields.

<FormSpy
    subscription={{ values: ["fieldA", "fieldB"] }}
    onChange={props => {
      console.log('Form validity changed to', props.valid)
    }}
  />

Sandbox Link

What's your environment?

"react-final-form": "6.5.9"
  "react-final-form-arrays": "3.1.4"
  "next": "12.1.6"
  "react": "17.0.0"
  "eslint": "8.15.0",
  "@typescript-eslint/eslint-plugin": "5.23.0"

Other information

NA

gertdreyer commented 1 year ago

What would the use-case be where a simple if in the onChange would not suffice?