javascript - react native : How to apply ListView's contentContainerStyle to renderRow() to create grid while having renderHeader()?

标签 javascript ios react-native reactjs

我正在努力遵循这个:ListView grid in React Native但也有 renderHeader() 。当我同时拥有 renderHeader() 和 renderRow() 时

contentContainerStyle={{flexDirection: 'row', flexWrap: 'wrap'}}

,整个ListView受影响,左移,renderRow()消失。

但是当我取出 renderHeader() 时,它完美地创建了 renderRow() 的网格,没有任何问题。那么,我怎样才能使用 ListView 的 contentContainerStyle 来影响 renderHeader() 来创建网格,同时也有 renderHeader()?

return (
  <View style={{flex: 1}}>
    <ListView
      contentContainerStyle={{flexDirection: 'row', flexWrap: 'wrap'}}
      dataSource={this.state.dataSource}
      renderRow={this.renderRow.bind(this)}
      renderHeader={this.renderHeader.bind(this)}
    />
  </View>
);

提前致谢!

最佳答案

此刻,ListView把所有东西都粘在 <ScrollView contentContainerStyle>{renderHeader}{renderRow}{renderRow}{renderFooter}</ScrollView> 里查看结构。牢记这一点将有助于解释您看到的格式问题。

我认为目前最好的选择是用 {width: Dimensions.get('window').width} 标记标题的样式, 以确保它用完一整行(或任何 <ListView> 的宽度。

我在使用 {alignSelf: 'center'} 时仍然遇到问题在我的 ListView内容,因此标题的大小也会影响/更改 renderRow 内容的对齐方式。但如果您不这样做,就不会有任何问题。

关于javascript - react native : How to apply ListView's contentContainerStyle to renderRow() to create grid while having renderHeader()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38532434/

相关文章:

iOS 近乎实时地从 Apple Watch 获取心率

ios - 在 Swift 中从另一个 View Controller 中启用 TabBar 项目

ios - 离开 View 并返回后,FetchedResult View 不会更新

javascript - 按值而不是键对 react native 对象列表进行排序

android - Android React Native 中的多个可扩展 ListView

javascript - 在 Scrollview 中查看不显示

javascript - HTML仅显示具有特定值的表格数据

javascript - 如何将 JPEG 从 URL 保存到 angularjs(ionic) 中的文件?

javascript - Highcharts - 具有负值的区域样条,区域应始终位于底部

javascript - 将 Javascript 中的当前时间传递给 GraphQL AWSDateTime 列