Comments (4)
Reproduced, thanks!
Appreciate the great sandbox btw 😊
Until this is fixed, you can use the same workaround we used in SaveButton.tsx
:
const { dirtyFields, isValidating, isSubmitting } = useFormState();
// useFormState().isDirty might differ from useFormState().dirtyFields (https://github.com/react-hook-form/react-hook-form/issues/4740)
const isDirty = Object.keys(dirtyFields).length > 0;
from react-admin.
Yes. We use the same workaround. 🙏
Just one hint, this only works partially. If I change one value in the array input and then revert the changes the field is still listed in the dirtyFields
. As a consequence also the SaveButton
is enabled.
from react-admin.
I am not sure if I should open separate issue or just comment in this issue. so I will start with a comment and maybe separate it if needed.
I am facing relatively same inconveniences with ArrayInput and dirty behaviour. in my case, I am using zod resolver.
What you were expecting:
- the form is not dirty
- clicking the plus button adds an element and makes the form dirty
- clicking the save button (without properly filling the inputs) the form should report the errors and the save button should stay enabled (as the array input still has an element added and the logic of save button rely on dirty state not validation state)
- properly fill the input and click save should successfully submit the form
What happened instead:
react-admin-react-hook-form-isDirty-issue.mp4
Steps to reproduce:
here are the two stackblitz that reproduces the two behaviours
on the right side (browser) navigate to /#/posts/create
- old-working (with react-hook-form 7.50.1)
- broken (with latest react-hook-form)
there is no difference between the two repo other than the resolution key in the package.json
Other information:
note that I fixed the react-hook-form version to 7.50.1
as the next release 7.51.0
is the one that introduced my issue
from react-admin.
I think this issue on react-hook-form side is related
from react-admin.
Related Issues (20)
- Change title property type in core display components <Edit>, <Show>, <View> HOT 1
- Standalone version of the Store for a dual-store strategy HOT 3
- Unable to clear default value in DateTimeInput component HOT 3
- Documented theme level defaultProps overrides do not work for react admin components HOT 4
- Reference Array selected item from a filter query vanishes immediately after selection. HOT 2
- Infinite re-rendering using disabled AutocompleteArrayInput in a ReferenceArrayInput HOT 6
- AutocompleteInput don't keep focus with mouse HOT 5
- Documentation update in sample. HOT 3
- NumberInput's `onBlur` prop does not provide an event object HOT 2
- Add ability to customize query string format for lists HOT 5
- i want to show the received gmail in react js app
- AutoComplete choice listing issue when using useChoicesContext HOT 1
- react admin error with Menu.Item missing properties HOT 6
- storeKey prop is not passed to useRecordSelection hook inside useListController HOT 5
- useEditContext returns null for both values HOT 5
- Infinite loop occurs in page rendering when perPage is set to a negative number in List Component HOT 2
- Codemods are not included in ra-core v5
- Duplicate entries in documentation search HOT 2
- `<PasswordInput/>` or `<TextInput/>` has corrupted `validate` prop, if field is handled with `disabled` prop HOT 4
- Auth provider login Promise rejection with "message" doesn't trigger notification message HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-admin.