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