【问题标题】:SwipeEnabled: false option is not workingSwipeEnabled:false 选项不起作用
【发布时间】:2020-05-05 13:30:39
【问题描述】:

我在我的 react-native 项目中遇到 react-navigation 5 的问题,我想禁用抽屉滑动,但通过在抽屉外部单击来保持关闭抽屉。我在 react-navigation docs 上阅读了有关此属性的信息。 GestureEnabled 属性有效,但它通过单击关闭抽屉

这是屏幕

const Home = ({ route, navigation }) => {
};
Home.navigationOptions = () => ({
  swipeEnabled: false,
  edgeWidth: 0,
});
export default observer(Home);

这是导航器

    <NavigationContainer>
        <Drawer.Navigator
          initialRouteName="Головна"
          edgeWidth={wp(100)}
          drawerContent={(props) => <CustomDrawer {...props} />}
        >
          <Drawer.Screen name="Головна" component={Home} />
          <Drawer.Screen name="Історія" component={MyTrips} />
          <Drawer.Screen name="Мій профіль" component={Profile} />
          <Drawer.Screen name="Про водія" component={AboutDriver} />
          <Drawer.Screen name="Мої бонуси" component={MyBonuses} />
          <Drawer.Screen name="Мої місця" component={MyPlaces} />
        </Drawer.Navigator>
    </NavigationContainer>
````

【问题讨论】:

    标签: javascript reactjs react-native react-navigation react-navigation-v5


    【解决方案1】:

    如果您不需要禁用特定屏幕的滑动

    <NavigationContainer>
        <Drawer.Navigator
          initialRouteName="Головна"
          edgeWidth={wp(100)}
          drawerContent={(props) => <CustomDrawer {...props} />}
          screenOptions={{swipeEnabled: false}}
        >
          ...
        </Drawer.Navigator>
    </NavigationContainer>
    

    【讨论】:

      【解决方案2】:

      如何使用setParams 和gestureEnabled 在屏幕内以编程方式实现这一点?我正在关注这个page 并期待以下工作:

      props.navigation.setParams({ gestureEnabled: false })
      
      "react": "16.13.1",
      "react-native": "0.63.3",
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-22
        • 1970-01-01
        • 1970-01-01
        • 2013-08-08
        • 1970-01-01
        • 2014-07-19
        • 2018-07-21
        • 2016-11-19
        相关资源
        最近更新 更多