2016-05-24 11 views
7

के ऊपर दिखाई देने वाले बहु-पंक्ति टेक्स्टिनप को कैसे रखें मेरे पास मल्टीलाइन सेट के साथ एक टेक्स्ट इनपुट है। मैं के साथ ध्यान केंद्रित करने पर इनपुट करने के लिए स्क्रॉल कर रहा हूँ:प्रतिक्रियात्मक मूल: कीबोर्ड

scrollResponder.scrollResponderScrollNativeHandleToKeyboard(
    React.findNodeHandle(this.refs.myInput), 
    0, 
    true 
); 

लेकिन जब बहु TextInput फैलता पाठ कीबोर्ड के नीचे छिपा दिया जाएगा। कर्सर/वर्तमान पाठ दिखाई नहीं दे रहा है, तो मैं केवल नीचे स्क्रॉल करना चाहता हूं। इसलिए मैं पाठ परिवर्तन पर उपर्युक्त कोड नहीं चला सकता क्योंकि यह वर्तमान कर्सर/वर्तमान पाठ दिखाई देने पर भी दृश्य को स्क्रॉल करेगा (जैसे पहली पंक्ति पर संपादन)।

स्क्रीन पर कर्सर/वर्तमान पाठ स्थिति प्राप्त करने का कोई तरीका है? या क्या मैं ऐसा करने का कोई अन्य तरीका है जिसकी मैं कोशिश कर रहा हूं?

वर्तमान में:

enter image description here

क्या मैं प्राप्त करने के लिए कोशिश कर रहा हूँ: enter image description here

उत्तर

2

आप onLayout विधि, देखें (जो पाठ फैली) द्वारा प्रदान का उपयोग कर सकते हैं। यह दृश्य के आयाम लौटाता है, जिसका उपयोग आप अपने स्क्रॉलव्यू की स्क्रॉल स्थिति को फिर से समझने के लिए कर सकते हैं।

+0

टेक्स्ट इनपुट में पाठ जोड़ने पर ऐसा नहीं लगता है –

0

मुझे यह घटक मिला ... लेकिन यह मेरे लिए काम नहीं कर रहा है (मुझे "आयात" पर त्रुटियां मिलती हैं)। मुझे लगता है कि वे अंततः तय हो जाएंगे।

https://github.com/VansonLeung/react-native-keyboard-aware-view

0

यह करने के लिए सबसे अच्छा तरीका प्रतिक्रिया देशी-कुंजीपटल अवगत-स्क्रॉल-व्यू पुस्तकालय के साथ हो सकता है और विधि _scrollToInput का उपयोग करें और डॉक्स क्या कहते हैं पालन करने के लिए लगता है।

enter image description here

एक बात मैं बदलना पड़ा डॉक्स में बदले "this.scroll.scrollToFocusedInput (reactNode)" "this.scroll.props.scrollToFocusedInput (reactNode)" कॉल करने के लिए गया था!

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