反应挂钩形式和反应数字格式的 isDirty 问题
isDirty issue with react hook form and react number format
我正在使用 react-number-format
和 react-hook-form
Controller
作为货币输入。
formState
没有正确更新:isDirty
和dirtyFields
似乎在编辑屏蔽号码输入时没有更新然后删除文本。
我将 defaultValues
设置为 ''
(空字符串)。
如果我输入一个数字,我可以看到 isDirty
是真的。但是,如果我删除输入,并且值为 ''
(空字符串),我仍然看到 isDirty
为真 - 但该值与默认值完全相同。
问题出在文件 masked-hook-form-inputs.js
中的第 54 行:
onChange(values.floatValue);
floatValue
的值可以是 undefined
,这导致了问题。
解决方案n
将第 54 行更改为 onChange(isNaN(values.floatValue) ? '' : values.floatValue);
请注意,最好使用 ''
(空字符串)而不是 null
。
我正在使用 react-number-format
和 react-hook-form
Controller
作为货币输入。
formState
没有正确更新:isDirty
和dirtyFields
似乎在编辑屏蔽号码输入时没有更新然后删除文本。
我将 defaultValues
设置为 ''
(空字符串)。
如果我输入一个数字,我可以看到 isDirty
是真的。但是,如果我删除输入,并且值为 ''
(空字符串),我仍然看到 isDirty
为真 - 但该值与默认值完全相同。
问题出在文件 masked-hook-form-inputs.js
中的第 54 行:
onChange(values.floatValue);
floatValue
的值可以是 undefined
,这导致了问题。
解决方案n
将第 54 行更改为 onChange(isNaN(values.floatValue) ? '' : values.floatValue);
请注意,最好使用 ''
(空字符串)而不是 null
。