isNan () и typeof не работают с React - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь создать поле только для числового ввода в компонентеact-bootstrap. Я знаю, что есть атрибут type = "number", который мы могли бы использовать, но тип установлен на пароль для маскировки ввода.

Сначала я попробовал, но это не сработало:

handleAcessCodeChange(event) {
    isNan(event.target.value) ? this.setState({ [event.target.id] : event.target.value }) : console.log('Non-numeric input');
}

Затем я попробовал длинный путь, который все еще не работал:

if(isNaN(event.target.value)) {
  this.setState({ [event.target.id] : event.target.value });
}
else {
  event.preventDefault();
  console.log('Error');
}
{/* Access code */}
<Form.Group controlId='accessCode'>
    <Form.Label>Access Code</Form.Label>
    <Form.Control
      style={{ width: '50%' }}
      type='password'
      placeholder='Enter access code'
      defaultValue=''
      autocomplete='off'
      value={this.state.accessCode}
      onChange={this.handleAcessCodeChange.bind(this)}
    />
</Form.Group>

Я ожидал, что на странице отобразится ошибка, если будет введен нечисловой ввод, но он все принял. Есть ли проблема с моим кодом или он реализован из компонента начальной загрузки?

...