मुझे एक प्रतिक्रियाशील मूल 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})
}
यह काम करने लगता है लेकिन यह एक हैक की तरह लगता है। क्या इसे करने का और कोई तरीका है?