首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用TabNavigator作为按钮

使用TabNavigator作为按钮
EN

Stack Overflow用户
提问于 2017-05-24 07:00:38
回答 1查看 719关注 0票数 1

我正在使用反应导航,我想使用TabNavigator导航多个选项卡。我不知道的是,是否有可能使用一个选项卡作为按钮。

代码语言:javascript
复制
const Tabs = TabNavigator({
    Tab1: { screen: Tab1 },
    Tab2: { screen: Tab2 },
    Button: {//This needs to be a button },
    Tab3: { screen: Tab3 },
    Tab4: { screen: Tab4 },   
}, 
{
  //some TabBarOptions
}

我试图排除按钮中的屏幕支柱,并将其包装在<Touchable>中,但我得到了屏幕需要定义的错误。

代码语言:javascript
复制
|-----|-----|-----|-----|-----|
|Tab 1|Tab 2| But |Tab 3|Tab 4|
|-----|-----|-----|-----|-----|
EN

回答 1

Stack Overflow用户

发布于 2017-09-18 16:02:26

通过在tabBarComponent属性中设置选项卡,可以将选项卡设置为按钮。

这是本机基( 用于反应本机的ui库 )文档中的一个示例:本机基础。

您只需修改按钮的onPress()方法就可以做您想做的事情

代码语言:javascript
复制
export default (MainScreenNavigator = TabNavigator(
  {
    LucyChat: { screen: LucyChat },
    JadeChat: { screen: JadeChat },
    NineChat: { screen: NineChat }
  },
  {
    tabBarPosition: "bottom",
    tabBarComponent: props => {
      return (
        <Footer>
          <FooterTab>
           <Button
              vertical
              active={props.navigationState.index === 0}
              onPress={() => alert("Do something")}> //this is the change
              <Icon name="bowtie" />
              <Text>Button</Text>
            </Button>
            <Button
              vertical
              active={props.navigationState.index === 1}
              onPress={() => props.navigation.navigate("LucyChat")}>
              <Icon name="bowtie" />
              <Text>Lucy</Text>
            </Button>
            <Button
              vertical
              active={props.navigationState.index === 2}
              onPress={() => props.navigation.navigate("JadeChat")}>
              <Icon name="briefcase" />
              <Text>Nine</Text>
            </Button>
            <Button
              vertical
              active={props.navigationState.index === 3}
              onPress={() => props.navigation.navigate("NineChat")}>
              <Icon name="headset" />
              <Text>Jade</Text>
            </Button>
          </FooterTab>
        </Footer>
      );
    }
  }
));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44151153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档