diff --git a/ivette/src/dome/renderer/layout/forms.tsx b/ivette/src/dome/renderer/layout/forms.tsx index 242c885b0ed3d78ab3122a5ee5ec6b62942a49dd..ffb497983ea5e19551ed5efce66742d73100307b 100644 --- a/ivette/src/dome/renderer/layout/forms.tsx +++ b/ivette/src/dome/renderer/layout/forms.tsx @@ -341,11 +341,13 @@ export function useBuffer<A>( setModified(!isReset); setBuffer(newValue); setBerror(newError); - if (isReset && !compare(equal, newValue, value)) { + if (compare(equal, rollback, newValue)) { + setModified(false); + } else if (isReset && !compare(equal, newValue, value)) { setCommited(false); onChanged(newValue, newError, isReset); } - }, [equal, value, onChanged]); + }, [equal, value, rollback, onChanged]); return { value: modified || !commited ? buffer : value,