Dies ist der Code, den ich verwende, um eine Liste von Elementen anzuzeigen, die von einer JSON API in einer ListView zurückgegeben wurden.React-native ListView zeigt nicht den gesamten Inhalt an, springt am Ende zurück (IOS)
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} />); }
Die ListView-Komponente wird es mir jedoch nicht erlauben, die letzten ein oder zwei Elemente anzuzeigen. (TRIM mehr Inhalte, wenn das Gerät im Querformat ist)
Die renderRow Methode gibt Reihen von Höhe 115, wie unten dargestellt:
return (
<TouchableHighlight onPress={() => this.rowPressed(rowData)}
style={{height: 115}}>...</TouchableHighlight>
was die richtige Art und Weise ist die Einstellung Listview Stils und contentContainerStyle alle Zeilen anzuzeigen in beiden Geräteorientierungen?
Hallo, Einstellung flex: 1 zu allen übergeordneten Komponenten löste das Problem. Vielen Dank. – meteorite
Es ist nicht explizit in der Dokumentation angegeben, aber ListViews und andere ScrollViews müssen ein übergeordnetes Element mit einer Höhe größer als 0 haben. Das Festlegen von "flex: 1" ist eine Möglichkeit, das zu erreichen. – CallMeNorm