これはListViewのJSON Apiから返されたアイテムのリストを表示するために使用するコードです。React-native ListViewはすべてのコンテンツを表示せず、下に戻る(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} />); }
ただし、ListViewコンポーネントで最後の1つまたは2つのアイテムを表示することはできません。以下に示すように
を(装置が横向きにある場合より多くのコンテンツをトリミング)でrenderRow方法は、高さ115の行を返す:
return (
<TouchableHighlight onPress={() => this.rowPressed(rowData)}
style={{height: 115}}>...</TouchableHighlight>
すべての行を表示するリストビュースタイルとcontentContainerStyleを設定する正しい方法は何ですか両方のデバイスの向きで?
こんにちは、すべての親コンポーネントにフレックス:1を設定すると問題が解決しました。ありがとう。 – meteorite
ドキュメントに明示的には記載されていませんが、ListViewや他のScrollViewsの高さが0より大きい親を持つ必要があります。これを行うには、 'flex:1'を設定する方法があります。 – CallMeNorm