【发布时间】:2016-11-29 23:07:10
【问题描述】:
使用 react native 如何构建一个比较表,看起来像 https://www.edrawsoft.com/templates/images/smart-phone-comparison-table.png
如果可能的话,我还想有一个节标题。例如,价格不在其自己的列中,但类似于 iOS 中的表部分标题 列表视图会给我一列,但我想要多列
谢谢
编辑: 下面的代码有效,但问题是如果我水平滚动,那么只有一个列表视图会滚动。我希望他们两个都滚动。 (我基本上是在尝试制作像 excel 这样的行和列,在我的情况下数据可能很大(30 行和 5-8 列),我不想对其进行硬编码。)
render() {
return (
<ScrollView>
<ListView horizontal
style={styles.container}
dataSource={this.state.dataSource}
renderRow={this.renderRow}
/>
<ListView horizontal
style={styles.container}
dataSource={this.state.dataSource}
renderRow={this.renderRow}
/>
</ScrollView>
)
在下图中,我希望在滚动第二个列表视图时滚动两个列表视图,但如图所示,只有第二个 ListView 正在滚动,而不是第一个...
【问题讨论】:
-
react-native 中没有开箱即用的 Table 组件。但是用ListView画出来并不难,每一行都用
style={{flex: 1, flexDirection: 'row'}}进行渲染 -
@Takahiro 感谢您的评论。我不想硬编码这些值。数据将来自服务器。我尝试了上面的更新代码,但问题是如果我水平滚动,那么只有一个列表视图会滚动。我希望它们都滚动。
-
为什么需要多个ListView?我以为你只需要一个(一张桌子)。如果您使用 ListViewDataSource,您当然不需要硬编码这些值。您需要做的就是转换您的 DataSource,并将每一行呈现为单元格列表,并使用 flex 布局来对齐它们。
-
是的,假设我有一个滚动视图,其中有 2 个水平的列表视图。现在如果我滚动水平 listview1 我想 listView2 也被滚动。我该怎么做?
-
恐怕不是,目前嵌套的滚动视图是 react-native 中的一个突出问题。 github.com/facebook/react-native/issues/8024
标签: listview reactjs react-native scrollview