final-form / react-final-form

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

reset with keepDirtyOnReinitialize #670

Open antoinerousseau opened 4 years ago

antoinerousseau commented 4 years ago

Are you submitting a bug report or a feature request?

feature request / bug report (could be either one depending on point of view...)

What is the current behavior?

I'm using keepDirtyOnReinitialize because some initial values are loaded asynchronously while the user could have already started to fill in the form. Once they submit it, I would like to reset the form to create a new entity (same page). Calling form.reset() or form.initialize(initialValues) has no effect.

What is the expected behavior?

I think form.reset() should work wether keepDirtyOnReinitialize is set or not. Otherwise maybe allow something like form.reset(true) or form.forceReset().

Sandbox Link

https://codesandbox.io/s/react-final-form-keepdirtyonreinitialize-reset-4hnn7

What's your environment?

react-final-form@6.3.0 final-form@4.18.5 Chrome/macOS

Other information

antoinerousseau commented 4 years ago

@erikras sorry to bother you but could you please have a quick look at this?

sharpar commented 4 years ago

@antoinerousseau this could help for now https://github.com/final-form/final-form/issues/151#issuecomment-425867172

antoinerousseau commented 4 years ago

@sharpar works like a charm, thanks!