Flatlist 不同部分的不同 numColumns
Different numColumns for different parts of Flatlist
我想渲染一个 React Native Flatlist,其中前两个元素跨越整个屏幕宽度,而所有连续元素跨越屏幕的一半。像这样:
有没有办法用一个 Flatlist 来做到这一点?如果没有,做这样的事情最好的方法是什么?最好没有滚动视图。
您需要先重新设计您的数据结构。然后你可以用视图和定义的宽度来做?
const data = [
{
fields: 'SingleColumn',
},
{
fields: ['First Column','Second Column']
}
]
const renderItem = ({ item }) => {
return <View>
{ somecondition ? <View>
<View style={{ width: '50% }}>
...content...
</View>
<View style={{ width: '50%' }}>
...second column
</View> : <View style={{ width: '100%'}}>
..single column content
</View>
</View>
}
}
你不能在一个 FlatList 中有多个列号,但你可以通过从数据结构中提取前两个元素并使用 [=10= 将它们呈现为 header 来实现你想要的] 属性 在 FlatList 上。然后您可以将数组的其余部分呈现为常规 FlatList。
我想渲染一个 React Native Flatlist,其中前两个元素跨越整个屏幕宽度,而所有连续元素跨越屏幕的一半。像这样:
有没有办法用一个 Flatlist 来做到这一点?如果没有,做这样的事情最好的方法是什么?最好没有滚动视图。
您需要先重新设计您的数据结构。然后你可以用视图和定义的宽度来做?
const data = [
{
fields: 'SingleColumn',
},
{
fields: ['First Column','Second Column']
}
]
const renderItem = ({ item }) => {
return <View>
{ somecondition ? <View>
<View style={{ width: '50% }}>
...content...
</View>
<View style={{ width: '50%' }}>
...second column
</View> : <View style={{ width: '100%'}}>
..single column content
</View>
</View>
}
}
你不能在一个 FlatList 中有多个列号,但你可以通过从数据结构中提取前两个元素并使用 [=10= 将它们呈现为 header 来实现你想要的] 属性 在 FlatList 上。然后您可以将数组的其余部分呈现为常规 FlatList。