Tôi đã thử một số cách để giải quyết vấn đề này, bao gồm ListHeaderComponent
hoặc ListFooterComponent
, nhưng tất cả đều không phù hợp với tôi.
bố cục tôi muốn đạt được là như thế này và tôi muốn được cuộn vào một lần.
<ScrollView>
<View>I'm the first view</View>
<View>I'm the second view</View>
<MyFlatList />
</ScrollView>
Trước tiên tôi muốn nói lời cảm ơn tới này vấn đề và ý kiến, trong đó đã cho tôi bó ý tưởng.
Tôi đã nghĩ về các ListHeaderComponent
vị trí phía trên Danh sách phẳng, nhưng vì hướng của tôi Flatlist
là cột, tiêu đề tôi muốn đặt ở bên trái của Flatlist
:(
Sau đó, tôi đã phải cố gắng vào VirtualizedList-backed
điều. Tôi chỉ cố gắng đóng gói tất cả các thành phần VirtualizedList
, trong đó renderItems
đưa ra chỉ mục và ở đó tôi có thể chuyển các thành phần một cách có điều kiện renderItems
.
Tôi có thể đã làm việc này với Flatlist
, nhưng tôi chưa thử.
Cuối cùng nó trông như thế này.
<View>
<Virtualizedlist
data={[]}
initialNumToRender={1}
renderItem={(props)=>{
props.index===0 ? (1st view here) : props.index===1 ? (2nd view here) : (my flatlist)
}}
keyExtractor={item => item.key}
getItemCount={2}
getItem={ (data, index) => {
return {
id: Math.random().toString(12).substring(0),
}
}}
/>
</View>
(inside which lazyly renders↓)
<View>I'm the first view</View>
<View>I'm the second view</View>
<MyFlatList />
và tất nhiên có thể cuộn toàn bộ màn hình.