如果我使用'parse',那么用户就不能输入小数点分隔符。
因为"9."被解析为9并立即替换输入文本。
沙盒:https://codesandbox.io/s/xmj92nnpo
是的。这是一个常见问题。如果要允许使用小数点,则必须将值保留为字符串,然后在提交时将其转换为数字。您仍然可以使用parse
删除<input>
上的任何非法字符(或type="number"
(,但不能在每次按键时将其解析为数字,否则您将丢失小数点。
我最终得到了我自己的StatefulInput组件,内部状态中带有"编辑"标志。我只在模糊时调用 Field 的"onChange"事件处理程序。
https://codesandbox.io/s/2zpn29zzjj