2016-02-22 6 views
11

मेरे पास <TextInput> है जो मैं प्रस्तुत करना चाहता हूं जब मैं लाल पोस्ट बटन, <TouchableHighlight> टैप करता हूं। जब टेक्स्ट इनपुट पर ध्यान केंद्रित किया जाता है, तो मैं टाइपिंग समाप्त करता हूं और मैं पोस्ट बटन पर टैप करता हूं, कीबोर्ड बंद हो जाता है लेकिन बटन टैप पंजीकृत नहीं करता है।प्रतिक्रिया मूल पाठ इनपुट धुंध टच करने योग्य हाइलाइट प्रेस इवेंट

मैंने टेक्स्ट इनपुट onBlur ईवेंट का उपयोग करने का प्रयास किया, लेकिन यह मुझे टच पॉइंट के निर्देशांक नहीं देता है, इसलिए मुझे नहीं पता कि स्पर्श बिंदु वास्तव में बटन पर है या नहीं।

screenshot

उत्तर

15

आप अपने scrollview को संपत्ति keyboardShouldPersistTaps = {सच} जोड़ने की जरूरत है।

keyboardShouldPersistTaps bool:

झूठी, ध्यान केंद्रित पाठ इनपुट के दोहन के बाहर जब कुंजीपटल निर्भर है कुंजीपटल खारिज जब

यहाँ docs क्या कहना है। जब सही हो, स्क्रॉल व्यू टैप न पकड़ेगा, और कीबोर्ड स्वचालित रूप से खारिज नहीं होगा। डिफ़ॉल्ट मान गलत है।

+0

इसे नेल किया गया। धन्यवाद। – frank

+2

धन्यवाद! बीटीडब्ल्यू, यह विकल्प ListView के लिए भी उपलब्ध है। – Jeiwan

+0

अभी भी समस्या को हल नहीं किया है। अगर मैं कीबोर्ड को खारिज करने के लिए टेक्स्टबॉक्स के बाहर टैप करना चाहता हूं तो क्या होगा? मैं बटन पर उच्चतम प्राथमिकता रखने के लिए टैप करना चाहता हूं, और टेक्स्टबॉक्स के बाहर हर दूसरे टैप को कीबोर्ड को खारिज करना चाहिए। – frank

5

@frank, मैं कल्पना आप से समस्या का समाधान मिल गया, लेकिन 'keyboardShouldPersistTaps' के अलावा अगर आप एक onPress कॉल dismissKeyboard यह इस मुद्दे को ठीक करना चाहिए के साथ अपने दृश्य लपेट एक TouchableWithoutFeedback तत्व में।

<ScrollView keyboardShouldPersistTaps={true} ref='scrollView'> 
    <TouchableWithoutFeedback onPress={dismissKeyboard}> 
    <View> 
    -View Content- 
    </View> 
    </TouchableWithoutFeedback> 
</ScrollView> 
संबंधित मुद्दे