Мені потрібно мати 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})
}
Здається, це спрацьовує, але, здається, це хак. Чи є інший спосіб зробити це?