我在組件中有一個輸入框。如果輸入框的值包含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