Bug - deleting row
omerman opened this issue · 4 comments
Assuming we render the array with editable items,
like so, {fields.map((arrPrefix) => <Field name={${arrPrefix}.val1} />}
When deleting a row of a field array
all of the indexes following the row becomes dirty, in the form.dirtyFields.
I think it happens because the Field component of say item[1].val1 isEqual will return false once deleting say item[0].val1.
I think the isEqual should be different when the Field is looking at a nested array field, surely a change in Field would be wrong, but Im thinking there should at least be a FieldArrayCell that will render also accept id prop(along with Field props) and will use this to send the isEqual the correct values, and then, the isEqual will evaluate correctly, and form.dirtyFields will be correct.
@OnkelTem Instead of relying on the dirty fields for arrays with delete option.. I checked versus the initial values instead..
In my specific use cases it was enough.. But its not ideal..
It's really irritating :(
It's really irritating :(
It is, but to fix it you'd have to have some breaking changes.. like enforce a unique Id for each row. It is possible.. but seems like a lot of work..