【问题标题】:Change tab navigator name and header更改选项卡导航器名称和标题
【发布时间】:2019-06-25 16:46:49
【问题描述】:

我是 react native 的新手,我创建了一个底部选项卡导航器。我有 3 个菜单:Home、Tenants 和 WorkOrders。如何更改 WorkOrders 以将按钮名称和标题显示为“Work Orders”而不是“WorkOrders”?

const MainTabNavigator = createBottomTabNavigator({
    Home,
    Tenants,
    WorkOrders
}, {
  navigationOptions: ({ navigation }) => {
      const { routeName } = navigation.state.routes[navigation.state.index];
      return {
        headerTitle: routeName
      };
  }
});

const MainStackNavigator = createStackNavigator({
    MainTabNavigator
}, {
  defaultNavigationOptions: ({ navigation }) => {
      return {
        headerLeft: (
          <Icon
            style={{ paddingLeft: 10 }}
            onPress={() => navigation.openDrawer()}
            name="md-menu"
            size={30}
          />
        )
      };
    }
});

const AppDrawerNavigator = createDrawerNavigator({
  Menu: {
    screen: MainStackNavigator
  }
});

const AppSwitchNavigator = createSwitchNavigator({
  Login: { screen: Login },
  Main: { screen: AppDrawerNavigator }
});

const AppContainer = createAppContainer(AppSwitchNavigator);

谢谢

【问题讨论】:

    标签: react-native react-native-tabnavigator


    【解决方案1】:

    你可以这样做:

    const MainTabNavigator = createBottomTabNavigator({
      ...,
      WorkOrders: {
        screen: WorkOrders,
        navigationOptions: {
          title: 'Work Orders'
          // You can check more options here: https://reactnavigation.org/docs/en/bottom-tab-navigator.html#navigationoptions-for-screens-inside-of-the-navigator
        }
      }
    },{
      // BottomTabNavigatorConfig
    })
    

    你可以用其他 react-navigation 的 API 做同样的事情

    【讨论】:

    • 感谢它适用于按钮标题,但我无法更改标题。即使我输入了 headerTitle:'Work Orders',它仍然显示'WorkOrders'。我认为是因为 BottomTabNavigatorConfig 重写了 headerTitle 规则
    猜你喜欢
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多