【发布时间】:2017-07-01 15:56:15
【问题描述】:
我在一个组件中有一个输入框。如果输入框的值包含超过 2 个小数位,我想阻止用户添加任何输入。
例如如果用户输入10.95 我不想让他们在这个值之后写其他任何东西。他们仍然可以将其更新为101.95,但它应该防止在最后一个小数位之后添加任何输入。
我目前的代码如下。
class inputBox extends Component {
countDecimals(value) {
if(Math.floor(value) === value) return 0;
return value.toString().split(".")[1].length || 0;
}
updateValue(e) {
if(this.countDecimals(e.target.value) > 2) {
//prevent user from inputting into box after the decimal place...
}
}
render() {
return(
<input type='text' onChange={this.updateValue} />
)
}
}
【问题讨论】:
-
我假设
reactjs有一种方法可以绑定到keydown事件,您可以在其中进行检查,然后return false如果您检测到它有超过 2 个小数以防止新条目?
标签: javascript reactjs numbers