动态numColumns的flatlist

时间:2018-03-12 10:22:42

标签: react-native react-native-flatlist react-native-listview

我在1个月前开始使用react native。现在我开始建立一个简单的从互联网上获取数据并显示如下图所示的布局。

将这些结果导入网格的最佳方法是什么?





enter image description here

这是我的简单代码

 render() {
  <FlatList
      data={newsData}
      renderItem={
        ({item,index}) =>
        index === 0 ? this._renderHighlightedVideo(item.node,index) :
        index === 5 ? this._renderAdvertisment() :
        index > 10 && (index+2) % 7 === 0 ? this._renderAdvertisment() :  this._renderGridVideo(item.node, index)
      }
      keyExtractor={(item, index) => index}
      />
 }




_renderHighlightedVideo(news, index) { }
_renderAdvertisment(){ }
_renderGridVideo(item.node, index){ }

1 个答案:

答案 0 :(得分:4)

  • 使用columnWrapperStyle = {{flexWrap:'wrap'}} inFlatlist来实现此目的,确保numColumns设置为大于1.

  <FlatList
              columnWrapperStyle={{ flexWrap: 'wrap', flex: 1, marginTop: 5 }}
              data={this.state.tags}
              horizontal={false}
              renderItem={({ item, index }) => <Tags item={item} index={index}
                handleSelectedTags={this.handleSelectedTags}
                selected={this.state.selected[index]} />
              }
              numColumns={3}
              keyExtractor={(item, index) => index}
            />

希望这会有所帮助。