【发布时间】:2019-01-20 01:10:37
【问题描述】:
每行中的项目将根据其文本大小而有所不同。 Flatlist 用于渲染项目。
TagView.js
<View style={styles.tagView}>
<FlatList
scrollEventThrottle={1900}
data={this.state.interests}
numColumns={5}
renderItem={({ item }) => (
<View style={styles.tag}>
<Text>{item.tagName}</Text>
</View>
)}
keyExtractor={(item, index) => index}
contentContainerStyle={{ paddingBottom: 100 }}
/>
</View>
风格
tagView: {
flex: 1,
flexDirection: "row",
flexWrap: "wrap"
},
tag: {
borderWidth: 1,
borderRadius: 10,
borderColor: "black",
backgroundColor: "white",
padding: 3,
marginTop: 5
}
结果
但是这里的项目没有用设备宽度包裹。有什么可以包装的吗?
【问题讨论】:
-
还可以尝试将
alignItems: 'flex-start'添加到父级 -
@PritishVaidya 试过了。不工作
-
我认为他们在
FlatList中不支持它,原因有很多,请查看here。替代方法是使用ScrollView
标签: reactjs react-native flexbox react-native-flatlist react-native-flexbox