如何解决输入数字格式的问题?

时间:2020-03-21 23:58:51

标签: javascript html css reactjs

人。我需要修复输入字段中的错误。我使用Regex将货币格式化为:( R $ 1.200.200,99 )。我想知道我的代码有什么问题吗?拜托!

点击代码链接

https://6fhfv.csb.app/

   <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}
  />

1 个答案:

答案 0 :(得分:0)

您缺少InputNumber的onChange处理程序。

编辑

在您的示例中,您正在为输入提供显式值,如果这样做,则必须具有某种更改它的机制,这就是为什么应该添加onChange处理程序。

另一种方法是拥有不受控制的输入,而您无需跟踪输入值的当前状态,而是可以通过ref访问它以在需要时获取值。

这两种方法都是有效的,您应该选择一种能够满足您的需求的方法。