React Native:如何检查我们是否位于平面列表的末尾?

问题描述 投票:0回答:3

我想当我已经位于列表末尾时隐藏视图,并且仅当我位于平面列表中间时才显示视图。我想知道如何检查列表末尾?

react-native
3个回答
2
投票
<FlatList
  onScroll={event => {
    const isAtAnd =
      event.nativeEvent.contentOffset.y + 
      event.nativeEvent.layoutMeasurement.height === event.nativeEvent.contentSize.height 
}}/>

1
投票

您可以使用 onEndReached 来检查用户是否已到达 FlatList 的末尾。

<FlatList
   ...
   ...
   onEndReached={() => {
          this.setState({
             showText : true
         }}
/>

现在你可以做

showText ? <Text>New Message</Text>: null

0
投票

借鉴 gobien 的答案,将

===
更改为
>=
以适应列表内容不超过 FlatList 布局高度的高度:

<FlatList
  onScroll={event => {
    const isAtEnd = event.nativeEvent.contentOffset.y + 
      event.nativeEvent.layoutMeasurement.height >= event.nativeEvent.contentSize.height;
  }}
/>
© www.soinside.com 2019 - 2024. All rights reserved.