正在做一个react native项目,里面有一个星期几的数组,目前试图每行显示3天,然后跳到下一行,但我遇到了困难。
<View style={{ width: '100%', alignItems: 'center' }}>
{tags.map(item => (
<Text
style={{
width: '30%',
backgroundColor: ' green',
color: 'white',
borderRadius: 20,
paddingRight: 5,
}}>
{item.label}
</Text>
))}
</View>;
我想实现这样的目标:
Monday Tuesday Wednesday
Thursday Friday
3条答案
按热度按时间zvokhttg1#
你可以简单地使用一个
<Flatlist />
组件,它有一个名为numColums
的 prop ,基本上是在horizontal={false}
时渲染项目,并且会像flexWrap
布局一样锯齿形。你可以这样做:
你会得到这样的东西:
查看https://snack.expo.io/@abrahamcalf/3-col-flatlist上的小吃
zbwhf8kr2#
您可以使用
numColumns={3}
检查FlatList
。请检查以下代码
请检查此演示
https://snack.expo.io/@vishal7008/flat-list
waxmsbnn3#
如果你只需要强制换行,你可以将
flexGrow
属性添加到你的项目中,并在你的容器视图中设置flexWrap: 'wrap'
:如果你需要做一些像CSS
nth-child
功能的事情,这将变得有点困难。因为样式在RN中是普通对象,你可以通过向width
或flexGrow
属性分配一个函数来实现这一点,如下所示:然后在组件上实现
isNthChild
: