gpt4 book ai didi

android - FlatList 或 ListView 上的 [react-native]onPanResponderRelease 不会在 android 中触发

转载 作者:行者123 更新时间:2023-12-02 04:35:46 29 4
gpt4 key购买 nike

我有一个 FlatList 组件,我想在它上面实现 PanResponder API,下面是我的部分代码:

componentWillMount() {
this._panResponder = PanResponder.create({
onStartShouldSetPanResponder: ()=>true,
onMoveShouldSetPanResponder: ()=>true,
onPanResponderGrant: (e, gestureState)=>this.panResponderStart(e, gestureState),
onPanResponderMove: (e, gestureState)=>this.panResponderMove(e, gestureState),
onPanResponderRelease: (e, gestureState)=>this.panResponderEnd(e, gestureState),
onPanResponderTerminate: (e, gestureState)=>this.panResponderEnd(e, gestureState),
});
}
panResponderEnd(e, gestureState) {
//this._previousTop += gestureState.dy;
this.setState({scrollTop:0});
console.log('release');
}
...
<FlatList
{...this._panResponder.panHandlers}
...

onPanResponderRelease 不会在 FlatListListViewVirtualizedList 组件上触发,操作系统是 android,是吗RN 的错误?如何解决此问题,我们将不胜感激。

最佳答案

无需传递panHandlers即可查看。我直接在 sectionList 上使用它。我使用 onPanResponderEnd 而不是 onPanResponderRelease 使其正常工作。

此外,如果您仍然想使用 onPanResponderRelease,那么您应该通过以下方式允许终止请求:

onPanResponderTerminationRequest: () => true

如果它不起作用,请告诉我。

关于android - FlatList 或 ListView 上的 [react-native]onPanResponderRelease 不会在 android 中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43462062/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com