我在组件中有一个输入框。如果输入框的值包含2个以上的小数位,我想阻止用户添加任何输入。REACT - 防止小数点后2位小数点后的输入
E.g.如果用户输入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'事件的方法,在这种情况下你可以做你的检查,然后'返回false',如果你发现它有2个以上的小数以防止新的入口? – Nope