입력 필드에 숫자 만 입력하면됩니다. onKeyPress & onKeyDown Events를 사용해 보았습니다. 부울 값을 이벤트를 얻을 수 없습니다. 감사합니다.onKeyPress 또는 onKeyDown을 사용하여 React에있는 숫자 만 허용
class User extends Component {
constructor (props) {
super(props)
this.state = { value: ''}
this.keyPress = this.keyPress.bind(this);
this.handleChange = this.handleChange.bind(this);
}
handleChange(e) {
this.setState({ value: e.target.value });
}
keyPress(e){
if(e.keyCode == 13){
console.log('value', e.target.value);
}
else{
const charCode = (e.which) ? e.which : e.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)){
return false;
}
else{
return true;
}
}
}
<input
type='text'
value={this.state.value}
onKeyDown={this.keyPress(event)}
onChange={this.handleChange}
/>
감사합니다! "XXX"와 같은 문자열로 입력을 가려야하기 때문에 type = 'number'를 사용할 수 없습니다. – user9074131