案例:实时获取输入框且精度保留两位数的小数求和并展示
React onChange(value)的坑
onChange(value) {
//无错误执行
console.log(value);
//注意此处的值是字符串类型
//如果用户输入2.00,用户删除到“2.”的,执行下边的值就会报错
//VM663:1 Uncaught TypeError: a.toFiexed is not a function
console.log(value.toFixed(2));
//因为js是弱类型语言,如果是正常的数字字符串,可以执行;
//遇到特殊的'2.' 这种就会报错
//解决方式,转换为数字,就不存在上边的报错了
console.log(Number(value)).toFixed(2));
}
<InputNumber min={1}
max={999999999.99}
onChange={ (value) => this.onChange(value) }
precision={2}
placeholder="请输入"
className="common-input"/>
在浏览器 console 上复现过程: