Мне нужен TextInputкомпонент React Native , который позволяет вводить только числовые символы (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})
}
Кажется, это работает, но похоже на взлом. Есть другой способ сделать это?