fre*_*ett 8 flexbox reactjs react-native react-native-scrollview react-native-flatlist
我正在使用React Native 的FlatList来渲染一堆堆叠在一起的项目。
这很好用,我设法使FlatList
自身扩展其高度以填充可用空间,但我希望FlatList
项目在有更多可用空间时增长。
使用ScrollView(简化伪代码)很容易做到这一点:
<ScrollView
contentContainerStyle={{
display: "flex",
flexGrow: 1,
}}
>
<Item key={1} style={{ flexGrow: 1 }} />
<Item key={2} style={{ flexGrow: 1 }} />
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
但是它不适用于FlatList(简化的伪代码):
<FlatList
contentContainerStyle={{
display: "flex",
flexGrow: 1,
}}
renderItem={({ index }) => <Item key={index} style={{ flexGrow: 1 }} />}
/>
Run Code Online (Sandbox Code Playgroud)
我创建了一个 Expo Snack,展示了ScrollView
成功种植元素和FlatList
失败的元素。
网上似乎有很多关于使父项FlatList
全高的讨论,但我一直在努力寻找有关使FlatList
项目 增长以填充可用FlatList
高度的任何内容。
我需要使用,FlatList
因为我计划使用react-native-draggable-flatlist来实现拖放并且找不到不使用FlatList
.
世博小吃的屏幕截图如下所示:
正如这里所看到的,似乎 DOM 中的问题是CallRenderer
,这VirtualizedList
是正确的高度和正确的 flex 样式,并且DayItem
设置为增长(并与 一起工作ScrollView
),但在两者之间CallRenderer
似乎中断了 flex 关系两者之间:
任何帮助深表感谢。
作为解决方法,您可以监听onLayout
Flatlist 的,将计算出的高度保持在某个状态,然后将每个子项的高度设置为 flatlist height / data.length。
归档时间: |
|
查看次数: |
1015 次 |
最近记录: |