2015-10-18 4 views
5

पर वापस उछालती है यह वह कोड है जिसका उपयोग मैं एक सूची दृश्य में JSON एपी से लौटाई गई वस्तुओं की एक सूची प्रदर्शित करने के लिए करता हूं।प्रतिक्रिया-मूल सूची सभी सामग्री नहीं दिखा रही है, नीचे (आईओएस)

render(){ var listHeight = this.state.itemCount ? ((this.state.itemCount) * 115) : 0; 
     var itemsHeight = 460; 

     itemsListView = (<ListView bounces={true} style={{height: itemsHeight}} contentContainerStyle={{height: listHeight}} 
      dataSource={this.state.dataSource} 
      renderRow={this.renderRow.bind(this)} automaticallyAdjustContentInsets={false} initialListSize={4} />); } 

हालांकि, ListView घटक मुझे पिछले एक या दो आइटम देखने की अनुमति नहीं देगा। (और अधिक सामग्री ट्रिम जब उपकरण को लैंडस्केप अभिविन्यास में है)

renderRow विधि रिटर्न ऊंचाई 115 की पंक्तियों नीचे दिखाया गया है:

return (
<TouchableHighlight onPress={() => this.rowPressed(rowData)} 
    style={{height: 115}}>...</TouchableHighlight> 

क्या सभी पंक्तियों को प्रदर्शित करने के ListView शैली और contentContainerStyle स्थापित करने का सही तरीका है दोनों डिवाइस उन्मुखता में?

उत्तर

3

संपादित करें: मैंने देखा कि आपका प्रश्न समस्या के बारे में है जब अभिविन्यास बदल जाता है या यह परिदृश्य में है। यह उत्तर शायद उस समस्या को ठीक नहीं करेगा। लेकिन अगर मैं मदद करता हूं, तो मैं इसे अभी यहां छोड़ देता हूं।

मुझे ListView के साथ समान समस्या थी जहां नीचे की वस्तुओं को पूरी तरह से प्रदर्शित नहीं किया गया था। मैंने बस स्क्रॉल करने योग्य क्षेत्र की ऊंचाई डिवाइस की ऊंचाई पर सेट की है और शीर्ष पर शीर्षलेख की शीर्ष ऊंचाई और अन्य सामग्री घटाई है।

इस तरह

:

const { 
    Dimensions, 
    ListView, 
    StyleSheet 
} = React; 

const Viewport = Dimensions.get('window'); 

... 

render() { 
    return (
    <ListView ... style={styles.listView} /> 
) 
} 

... 

let styles = StyleSheet.create({ 
    listView: { 
    height: Viewport.height 
    } 
}); 

इसके अलावा शैली flex: 1, आपकी समस्या का समाधान हो सकता है तो आप पहली बार में कि कोशिश कर सकते हैं।

+4

हाय, फ्लेक्स सेटिंग: सभी मूल घटकों के लिए 1 समस्या हल हो गई। धन्यवाद। – meteorite

+1

यह दस्तावेज़ीकरण में स्पष्ट रूप से नहीं बताया गया है, लेकिन ListViews और अन्य स्क्रॉल दृश्यों में माता-पिता को 0 से अधिक ऊंचाई वाले माता-पिता की आवश्यकता होती है। 'Flex: 1' सेट करना इसे पूरा करने का एक तरीका है। – CallMeNorm

0

पूरी तरह से प्रश्न का उत्तर नहीं देता है, लेकिन कुछ मदद कर सकता है .. मैंने शीर्ष, बाएं, दाएं, लेकिन नीचे नहीं सेट किया था, और इससे स्क्रॉलव्यू पूर्ण ऊंचाई होने का कारण बन गया, इसलिए इसे स्क्रॉल करने की आवश्यकता नहीं थी।

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