【发布时间】:2021-11-30 10:12:58
【问题描述】:
我有一个FlatList 组件,由 3 个部分组成:
<View style={{ flex: 1 }}>
<FlatList
ListHeaderComponent={Comp1}
ListFooterComponent={<Comp2 style={{ flexGrow: 1, justifyContent: 'flex-end' }}/>}
renderItem={Comp3}
contentContainerStyle={{ flexGrow: 1 }}
/>
</View>
默认情况下,ListFooterComponent 将在 ListHeaderComponent 之后呈现,如果 data.length 为 0。
我需要一直在底部渲染它。
到目前为止,我发现的一种解决方法是为ListEmptyComponent 提供一个空视图。在这种情况下,它看起来很好,直到我添加至少一项 - 然后它再次粘在顶部。
是否可以默认在底部附加ListFooterComponent?
蓝色是FlatList,红色是ListFooterComponent
【问题讨论】:
-
另一种解决方法是将您的 FlatList 呈现为
flex:1,但不是直接在其上。您可以使用flex:1将您的FlatList 包装在一个视图中,然后将contentContainerStyle={{ flexGrow: 1 }}作为道具传递给FlatList。这符合您的要求吗? -
现在看起来实际上是这样 :)
FlatList的大小看起来很完美,唯一有问题的是ListFooterComponent。我将更新代码以获得更好的清晰度 -
好的,我刚刚了解您的问题,抱歉,我会想办法解决
标签: react-native react-native-flatlist