人。我需要修复输入字段中的错误。我使用Regex将货币格式化为:( R $ 1.200.200,99 )。我想知道我的代码有什么问题吗?拜托!
点击代码链接
<InputNumber
name="topText"
style={{
width: 400,
marginRight: "1rem"
}}
formatter={value => {
let temp = value+'';
temp = temp.replace(/([0-9]{2})$/g, ",$1");
if(temp.length > 6 ) {
temp = temp.replace(/([0-9]{3}),([0-9]{2}$)/g, ".$1,$2");
return temp;
}
}}
parser={value => value.replace(/[\D]+/g,'')}
onChange={handleChange}
/>
答案 0 :(得分:0)
您缺少InputNumber的onChange处理程序。
在您的示例中,您正在为输入提供显式值,如果这样做,则必须具有某种更改它的机制,这就是为什么应该添加onChange处理程序。
另一种方法是拥有不受控制的输入,而您无需跟踪输入值的当前状态,而是可以通过ref访问它以在需要时获取值。
这两种方法都是有效的,您应该选择一种能够满足您的需求的方法。