Мне нужно иметь компонент React Native TextInput
, который позволит вводить только числовые символы (0 - 9). Я могу установить для keyboardType
значение типа numeric
которое почти получает меня там для ввода, за исключением периода (.). Однако это не делает ничего, чтобы остановить вставку нечисловых символов в поле.
До сих пор я использовал использование события OnChangeText
чтобы посмотреть на введенный текст. Я удаляю любые нечисловые символы из текста. Затем поместите текст в поле состояния. Затем обновите свойство TextInput
через его Value
. Ниже приведен фрагмент кода.
<TextInput
style={styles.textInput}
keyboardType = 'numeric'
onChangeText = {(text)=> this.onChanged(text)}
value = {this.state.myNumber}
/>
onTextChanged(text) {
// code to remove non-numeric characters from text
this.setState({myNumber: text})
}
Кажется, это работает, но кажется, что это взломать. Есть ли другой способ сделать это?