如何从外部设置初始标签



考虑以下场景:

<Scene key='home' component={HomeComponent} hideNavBar title={'home'}/>
<Scene key="myTabBar" tabs={true} hideNavBar tabBarStyle={style.tabBarStyle}>
    <Scene 
        key="myTab" 
        title="My Tab" 
        icon={MyTabIcon} 
        component={MyTabComponent} hideNavBar />
    <Scene 
        key="myTab_1" 
        title="My Tab 1" 
        icon={MyTabIcon} 
        component={MyTabComponent1} hideNavBar />
</Scene>

我在家庭组件,按钮1和按钮2中有两个按钮。

我想在按钮1点击时显示 myTab_1,并在按钮2时显示mytab_2。我该如何实现?

实际上很简单,但是没有讨论的文档或问题。为了评估这一点,我们可以查看repo src目录中塔巴尔的源代码。

... (imports)
class TabBar extends Component {
  ...
  static onSelect(el) {
    if (!Actions[el.props.name]) {
      throw new Error(
        `No action is defined for name=${el.props.name} ` +
        `actions: ${JSON.stringify(Object.keys(Actions))}`);
    }
    if (typeof el.props.onPress === 'function') {
      el.props.onPress();
    } else {
      Actions[el.props.name]();
    }
  }
}

当我们单击选项卡本身时,我们实际上调用函数onSelect(查看渲染部分),该功能只需使用Action[tabbarbutton.props.name]()

路由

对于您的代码,其Action.myTab_1()在您的touchableOpacity中。

相关内容

  • 没有找到相关文章

最新更新