javascript - 如何解决输入数字格式的问题?
问题描述
人们。我需要修复输入字段中的错误。我使用 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}
/>
解决方案
您在 InputNumber 上缺少 onChange 处理程序。
编辑
在您的示例中,您正在为您的输入提供显式值,如果您这样做,您必须有某种机制来更改它,这就是您应该添加 onChange 处理程序的原因。
另一种方法是使用不受控制的输入,您不跟踪输入值的当前状态,而是可以通过 ref 访问它以在需要时获取值。
这两种方法都是有效的,您应该选择满足您需求的一种。
推荐阅读
- google-analytics - 跟踪事件并理解它
- php - 在 PHP 中从今天开始创建整数天数组的有效方法
- r - 使用反应函数 (R) 时,在 Shiny 中使用 validate 隐藏没有相关数据的绘图
- python - 并行生成两个独立的字典
- r - 如何将matlab数字转换为POSIXct
- android - android gradle版本更新后android资源编译失败
- google-bigquery - 我想要最新记录的“物化视图”
- javascript - VueJS Axios POST 通过页面传递变量时返回 NULL
- ruby - Ruby UTF-8 字符串到 UCS-2 的转换
- java - BiFunction之间的区别
和二元运算符