【发布时间】:2018-10-24 11:53:46
【问题描述】:
我使用 react-native 创建了一个带有侧边菜单的页面,并使用 react-navigation 进行路由。我想禁用通过左侧滑动手势显示的侧边菜单屏幕。
export const StackNav = StackNavigator(
{
Login: {
screen: Login,
navigationOptions: {
headerMode: "none",
header: null
}
},
Signup: {
screen: Signup,
navigationOptions: {
headerMode: "none",
header: null
}
},
},
{
initialRouteName: "Login"
}
);
//for admin login, run campaign
const TabNav1 = TabNavigator(
{
SelectCarriers: {
screen: SelectCarriers,
navigationOptions: {
tabBarLabel: "Select Carriers"
}
},
ErrorRecords: {
screen: ErrorRecords,
navigationOptions: {
tabBarLabel: "Error Records"
}
}
},
{
tabBarPosition: "top",
tabBarOptions: {
labelStyle: {
fontWeight: "bold"
}
}
}
);
//for Notification page or carrier login
const TabNav = TabNavigator(
{
Notification: {
screen: Notification,
navigationOptions: {
tabBarLabel: "Notification"
}
},
NotificationHistory: {
screen: NotificationHistory,
navigationOptions: {
tabBarLabel: "Notification History"
}
}
},
{
tabBarPosition: "bottom"
}
);
const TabNavStack = StackNavigator({
Main: {
screen: TabNav,
navigationOptions: ({ navigation }) => ({
headerTitle: "Notification"
})
}
});
const sidemenuNav = StackNavigator({
Dashboard: {
screen: Dashboard,
navigationOptions: ({ navigation }) => ({
headerLeft: (
<TouchableOpacity onPress={() => navigation.toggleDrawer()}>
<Text style={{ paddingLeft: 15 }}>
<Icon name="navicon" style={{ fontSize: 25 }} />
</Text>
</TouchableOpacity>
)
})
},
ViewRanking: {
screen: ViewRanking,
navigationOptions: ({ navigation }) => ({
title: "View Ranking"
})
},
SelectCarriers: {
screen: SelectCarriers,
navigationOptions: ({ navigation }) => ({
headerTitle: "SELECT CARRIER"
})
},
RunCampaign : {
screen: RunCampaign,
navigationOptions: ({navigation}) =>({
title: "RUN"
})
},
SelectedCampaign : {
screen: SelectedCampaign,
navigationOptions: ({navigation}) => ({
title: "SELECTED CAMPAIGN",
})
},
ChangePassword: {
screen: ChangePassword,
navigationOptions: {
title: 'Change Password'
}
},
EmailAnalytics: {
screen: EmailAnalytics,
navigationOptions: {
title: 'Email Analytics'
}
},
ViewCampaignHistory: {
screen: ViewCampaignHistory,
navigationOptions: {
title: 'View Campaign History'
}
},
CheckResponse: {
screen: CheckResponse,
navigationOptions: {
title: 'CHECK RESPONSE'
}
},
CampaignResult: {
screen: CampaignResult,
navigationOptions: {
title: 'CAMPAIGN RESULT'
}
},
});
const DrawerNav = DrawerNavigator(
{
Item1: {
screen: sidemenuNav
}
},
{
contentComponent: SideMenu,
drawerWidth: Dimensions.get("window").width - 120
}
);
export const PrimaryNav = StackNavigator(
{
StackNav: { screen: StackNav },
TabNavStack: { screen: TabNavStack },
DrawerNav: { screen: DrawerNav }
},
{
// Default config for all screens
headerMode: "none",
initialRouteName: "StackNav"
}
);
所以,在 sidemenuNav 中,我想禁用 ViewRanking、SelectCarriers 的侧抽屉......
我尝试了drawerLockMode 的导航选项,但没有成功。
我提到了一些问题,但没有用。
建议答案后将其标记为重复或否决
【问题讨论】:
标签: react-native react-navigation