如何解决反应钩子形式和反应数字格式的 isDirty 问题
我使用 react-number-format
和 react-hook-form
Controller
输入货币。
formState
没有正确更新: isDirty
和 dirtyFields
在编辑屏蔽的数字输入然后删除文本时似乎没有更新。
我将 defaultValues
设置为 ''
(空字符串)。
如果我输入一个数字,我可以看到 isDirty
为真。但是,如果我删除输入,并且值为 ''
(空字符串),我仍然看到 isDirty
为 true - 但该值与 defaultValue 完全相同。
解决方法
问题在于文件 masked-hook-form-inputs.js
中的第 54 行:
onChange(values.floatValue);
floatValue
的值可以是 undefined
,这导致了问题。
解决方案
将第 54 行更改为 onChange(isNaN(values.floatValue) ? '' : values.floatValue);
请注意,最好使用 ''
(空字符串)而不是 null
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。