FlatList禁用向左滑动手势

时间:2019-11-06 17:41:20

标签: javascript reactjs react-native react-native-flatlist

我在应用程序中使用水平Dim xdoc = XDocument.Parse(str) Dim valor = xdoc.Root.Elements("BlockClientResponse").Elements("BlockClientResult") 来呈现数据。

目标是当用户按下按钮时,FlatList向后滚动到上一个图块,disable滚动到下一个图块。有一个道具allow,但只能锁定一个滑动方向吗?

我已经尝试过gesturesEnabled,但是遇到了这个问题https://github.com/glepur/react-native-swipe-gestures/issues/13,它无法正常工作。

有什么办法可以用react-native-swipe-gestures解决此问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以通过滚动的速度来完成此操作,在android上,如果负号表示向右手势,如果正号表示向左手势。在ios中则相反。

  const foo = (velocity) => {
    if (Platform.OS == 'ios')
      velocity > 0 ? console.log('to left') : console.log('to right');
    else velocity < 0 ? console.log('to left') : console.log('to right');
  };

  <FlatList
    data={data}
    horizontal
    onScroll={e => foo(e.nativeEvent.velocity?.x)} //or y
  />