2015-05-04 5 views
19

मैं फ़्लोटिंग लेबल्स को कार्यान्वित करना चाहता हूं, इसके लिए मेरे पास टेक्स्ट इनपुट के ऊपर एक टेक्स्ट घटक है। मैं पाठ पर सभी स्पर्श घटनाओं को अनदेखा करना चाहता हूं ताकि टेक्स्ट इनपुट के तहत सभी घटनाएं मिल सकें। कोई तरीका है तो मुझसे यह हो सकता है ? सीएसएस में हम पॉइंटर-इवेंट्स का इस्तेमाल करते थे, मुझे यकीन नहीं है कि प्रतिक्रिया मूल में यह कैसे करें।क्या कोई तरीका है जिसमें मैं पाठ में प्रतिक्रियात्मक मूल पर स्पर्श घटनाओं को अनदेखा कर सकता हूं?

+0

हमें यह दिखाने में मदद मिलेगी कि आपके पास अब तक क्या है। –

+0

मैं http://codepen.io/soulrider911/pen/ugnyl –

+0

जैसे कुछ बनाने की कोशिश कर रहा हूं यदि कोई ** सामान्य प्रतिक्रिया ** (* प्रतिक्रिया न करें *) में समाधान की तलाश में है, तो आप बस सीएसएस सेट कर सकते हैं 'सूचक-घटनाओं के लिए: तत्व' के लिए कोई भी नहीं जिसे आप क्लिक करना चाहते हैं। – protoEvangelion

उत्तर

11

Text घटक में pointerEvents: 'none' जोड़ें। यह स्पर्श घटनाओं को घटक के पूर्वजों के पास जाने की अनुमति देता है, लेकिन घटक स्वयं या उसके बच्चों को नहीं।

प्रतिक्रिया मूल 'box-none' का भी समर्थन करता है, जो स्पर्श घटनाओं को पूर्वजों और घटक के बच्चों के पास जाने की अनुमति देता है, और केवल घटक को ही छोड़ देता है।

+3

किसी कारण से मैं इसे 'टेक्स्ट' घटक पर काम नहीं कर सका, लेकिन 'टेक्स्ट' में' टेक्स्ट' को लपेटकर 'पॉइंटर एवेन्ट्स =" कोई भी "प्रोप को हल नहीं कर पाया। – Cryszon

36

प्रतिक्रिया-मूल में, pointerEvents is a prop, शैली नहीं।

<View pointerEvents="none" /> 
+1

यह राज्य से सेट होने पर काम नहीं कर रहा है। –

+0

इस तरह से सेट करने पर काम करता है '' – pnizzle

+0

कुछ मामलों में, आप चाहते हैं कि सबव्यूव अभी भी स्पर्श का लक्ष्य हों ताकि pointerEvents = {'box-none'} होगा उचित समाधान: https://facebook.github.io/react-native/docs/view.html#pointerevents – user1875631

3

मुझे क्राइज़न के समान समस्या थी। एंड्रॉइड पर लगता है जैसे पॉइंटर एवेन्ट्स = "none" टेक्स्ट घटकों के लिए काम नहीं करता है।

एक दृश्य में पाठ को लपेटकर और पॉइंटर एवेन्ट्स = "कोई नहीं" प्रोप को हल करने से इसे हल किया गया।

संबंधित मुद्दे

 संबंधित मुद्दे