我想创建一个2行3列可见的水平滚动平面列表。数据将是动态的从API。我已经设法创建垂直滚动平面列表看起来像这样:
。有numOfColumns
来指定列数,但没有指定行数。当我尝试设置horizontal={true}
时,布局变得奇怪:
还抛出numOfColumns
无法与水平滚动平面列表一起应用的错误。请参考随附的屏幕截图了解所需的输出:
.
我的垂直滚动平面列表代码:
<FlatList
ref={(ref) => { this.flatListRef = ref; }}
style={{ width: '90%', marginTop: 10, marginLeft: 10, backgroundColor: 'transparent', borderRadius: 5, alignSelf: 'center' }}
bounces={false}
// horizontal={true}
numColumns={3}
data={this.state.categoryData}
renderItem={({ item: data, index }) => {
return (
<ServiceView viewWidth={'100%'} viewHeight={'100%'} viewPaddingLeft={1} viewPaddingRight={10} viewPaddingTop={1} viewPaddingBottom={12} serviceName={(globalUserType == 'provider') ? data.services.name : data.name} serviceIconUrl={(globalUserType == 'provider') ? data.services.image : data.image} jobCount={(globalUserType == 'provider') ? '' : ''} showDot={(globalUserType == 'provider') ? false : false}
serviceAction={
() => this.navigateTo('category', data)
}/>
我应该做什么改变,以获得所需的输出。
4条答案
按热度按时间oipij1gg1#
0tdrvxhp2#
您可以通过在垂直平面列表项中添加水平平面列表来实现此目的,如下所示:
syqv5f0l3#
尝试从这种类型的json数组数据呈现此问题的所需输出时,发生了相同的问题
我尝试了很多方法来呈现两行格式,但是都不行。所以,我把json改成了这些格式
有两种方法可以得到这种类型的json格式
1.从后端API
1.通过在componentDidmount或函数中使用Javascript代码将jsonarray拆分为块数组,从而将块数组拆分为一个数组。
然后,您可以使用此代码执行此问题所需的输出
igsr9ssn4#
还有另一种方法可以使用Lodash中的**_. chunk**。
示例: