繁体   English   中英

Stack Navigator抽屉图标单击未打开的抽屉,但在滑动时打开

[英]Stack Navigator drawer icon click drawer not opening but when slide it opening

当我单击左侧图标时,我想打开抽屉; 这是我的代码:

const stackNav = StackNavigator({
  Main : {
    screen: MainScreen,
    navigationOptions: ({navigation}) => ({
      title: "Easy Billing",
      headerLeft: (
        <TouchableOpacity onPress={() => navigation.navigate("DrawerOpen")}>
          <IOSIcon name="ios-menu" size={30} onPress={() => navigation.navigate("DrawerOpen")} />
        </TouchableOpacity>
      ),
      headerStyle: { } 
    })
  }
});

试试: import { DrawerActions, createDrawerNavigator } from 'react-navigation';

接着 :

const stackNav = createDrawerNavigator({
  Main : {
    screen: MainScreen,
    navigationOptions: ({navigation}) => ({
      title: "Easy Billing",
      headerLeft: (
        <TouchableOpacity onPress={() => { navigation.dispatch(DrawerActions.openDrawer()); }}>
          <IOSIcon name="ios-menu" size={30} onPress={() => { navigation.dispatch(DrawerActions.openDrawer()); }} />
        </TouchableOpacity>
      ),
      headerStyle: { } 
    })
  }
});

使用stackNavigator时无法显示抽屉。 这就是为什么我使用createDawerNavigator变量的原因。 Notive的DrawerNavigatorStackNavigator被弃用,请createDrawerNavigatorcreateStackNavigator代替。

希望我的回答有帮助!

打开,关闭和切换抽屉的默认值为:

this.props.navigation.openDrawer();
this.props.navigation.closeDrawer();
this.props.navigation.toggleDrawer();

您可以在按钮的onPress属性中使用它们。 像这样, <Button onPress={() => { this.props.navigation.openDrawer(); }} /> <Button onPress={() => { this.props.navigation.openDrawer(); }} />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM