Saya perlu memiliki TextInput
komponen React Native yang hanya memungkinkan karakter numerik (0 - 9) untuk dimasukkan. Saya bisa mengatur keyboardType
untuk numeric
yang hampir membuat saya ada untuk input kecuali untuk periode (.). Namun ini tidak berhenti menempelkan karakter non-numerik ke dalam bidang.
Apa yang saya dapatkan sejauh ini adalah menggunakan OnChangeText
acara tersebut untuk melihat teks yang dimasukkan. Saya menghapus karakter non-numerik dari teks. Kemudian letakkan teks di bidang negara bagian. Kemudian perbarui TextInput
melalui Value
properti itu. Cuplikan kode di bawah ini.
<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})
}
Ini sepertinya berhasil tetapi sepertinya hack. Apakah ada cara lain untuk melakukan ini?