在我当前的 React 应用程序中,我需要一个输入来根据以下规则验证和更改结果:
Input: 10 -> Output: 1000
Input: 10.5 -> Output: 1050
Input: 10.55 -> Output: 1055
这是我到目前为止所拥有的:
<Form.Control
as="input"
type="number"
min="0.00"
step=".01"
onChange={this.handleChange.bind(this)}
/>
handleChange(event: React.ChangeEvent<HTMLInputElement>) {
if(event.target.value.includes('.')) {
let values = event.target.value.split('.')
if(values[1].length <= 1) {
let decimal = values[1] = values[1] + '0';
let output = values[0] + decimal;
}
}
this.submitPayment(output) // error: output not defined
}
我现在的问题是,我的代码仅在输入小数(点/逗号)时才有效。
而且我想有一个更“优雅”的解决方案,如果知道的话那就太好了!
最佳答案
我不明白你为什么不这样做:
handleChange(event: React.ChangeEvent<HTMLInputElement>) {
const output = parseFloat(event.target.value) * 100
this.submitPayment(output);
}
关于javascript - 检查 react 输入表单的小数并更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60602453/