Javascript 滚动到特定偏移量y时显示搜索栏
我在React Native中使用平面列表。 我想在用户向下滚动并达到Javascript 滚动到特定偏移量y时显示搜索栏,javascript,react-native,expo,Javascript,React Native,Expo,我在React Native中使用平面列表。 我想在用户向下滚动并达到offset.y>=70时显示搜索栏而不是图标,然后将其切换回offset.y ; } }, 标题:“, })} name=“主页” 组件={Home} /> …但它没有正常工作。我尝试了而执行和切换案例但当滚动停止时,它总是显示条形搜索。。。否则它会一直显示图标。此代码在哪里执行?你不展示那部分。当它被执行时,这将是要调试的区域。此外,在编写时,还应包括setShowSearch()的代码。。。。。请记住,您比这里的任何人
offset.y>=70
时显示搜索栏而不是图标,然后将其切换回offset.y<0
。我尝试在我的平面列表中设置一个调用我的函数的onScroll
:
<FlatList
onScroll={showSearchBar}
scrollEnabled={false}
data={products}
numColumns={2}
keyExtractor={(item) => item.id.toString()}
renderItem={___}
onEndReachedThreshold={0.09}
onEndReached={() => {
getNewData();
}}
/>
{
如果(显示搜索){
搜索栏
}否则{
导航。导航(“关于”)}>
;
}
},
标题:“,
})}
name=“主页”
组件={Home}
/>
…但它没有正常工作。我尝试了
而
执行
和切换
案例
但当滚动停止时,它总是显示条形搜索。。。否则它会一直显示图标。此代码在哪里执行?你不展示那部分。当它被执行时,这将是要调试的区域。此外,在编写时,还应包括setShowSearch()
的代码。。。。。请记住,您比这里的任何人都更了解您的代码。所以,演讲的细节很重要。。Thanx此代码在哪里执行?你不展示那部分。当它被执行时,这将是要调试的区域。此外,在编写时,还应包括setShowSearch()
的代码。。。。。请记住,您比这里的任何人都更了解您的代码。所以,演讲的细节很重要。。塔克斯
const showSearchBar = (e) => {
if (Math.floor(e.nativeEvent.contentOffset.y) >= 70)
{
setShowSearch(true);
}
else
{
setShowSearch(false);
}
}
<Stack.Screen
........................
headerRight: () => {
if (showSearch) {
<View>
<Text>
search bar
</Text>
</View>
} else {
<TouchableOpacity onPress={() => navigation.navigate("about")}>
<AntDesign
name="questioncircleo"
size={30}
color="white"
style={{
marginRight: 15,
justifyContent: "center",
}}
/>
</TouchableOpacity>;
}
},
title: "",
})}
name="home"
component={Home}
/>