как проверить клавишу возврата (удалить) keyPress в реагировать родной (iOS) - PullRequest
0 голосов
/ 31 октября 2018

Я хочу запустить функцию, когда пользователь нажимает клавишу Backspace в текстовом поле. Я искал на переполнение стека и React Native документы, но нет соответствующего ответа. в принципе, я не знаю, какое ключевое слово для backspace

      <TextInput
          onChangeText = {e => {
          e === 'BackSpace' ? alert('delete') : alert(e)
       }}/>

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

onChangeText только отправляет обновленное текстовое значение. Он не отправляет никакой другой информации, такой как нажатие клавиш. onChange отправляет гораздо больше информации, onChangeText только для удобства.

Вы можете использовать onKeyPress

<TextInput
  onKeyPress={({ nativeEvent }) => {
    nativeEvent.key === 'Backspace' ? //do action : //other action
  }}
/>

Вы не можете использовать alert, однако вы должны использовать Alert в react-native с другим API.

Однако может быть проще использовать onChangeText в зависимости от того, чего вы пытаетесь достичь. Если отправленное текстовое значение короче текущего контролируемого текстового значения, вы можете обрабатывать любой код возврата, который вы используете, и управлять значением ввода текста в одном месте.

0 голосов
/ 31 октября 2018

Как и предполагалось здесь вы можете попробовать что-то вроде этого:

<TextInput
     onKeyPress = {e => {
     e.keyCode === 'Backspace' ? alert('delete') : alert(e)
}}/>
...