Как перестать разрешать спецсимволы при нажатии клавиш ввода - PullRequest
0 голосов
/ 19 марта 2019

у меня ниже ввода

handleNameChange(event = {}) {
        console.log('event', event);
        this.setState({ reportCalculationName: event.target.value });
    }

onKeyPress(event) {
    let character = event.keyCode;
    console.log('character', character);
}


<div className="col-md-4">
   <label className="col-md-5">Calculation Name:</label>
    <input type="text" className="" id="calculation-name" title="Name" 
          onChange={this.handleNameChange} 
           value=this.state.reportCalculationName } onKeypress={this.onKeyPress}/>
  </div>

Событие нажатия клавиши даже не запускается, когда я вхожу в некоторые специальные символы. Я хочу прекратить разрешать `,." '| / + =] Эти символы в моем поле ввода в моем компоненте реакции

1 Ответ

0 голосов
/ 19 марта 2019

Вы можете использовать event.preventDefault () для отмены события нажатия клавиши.

Псевдокод:

onKeyPress(event) {
    var key = window.event ? event.keyCode : event.which;
    if (key === [enter your value here]) {
        event.preventDefault(); <=== this will cancel the input
    } else {
       return true;
    }
    console.log('character', character);
    return false;
}

Более подробную информацию можно найти здесь:

https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault

...