当我们浏览标签时如何显示backButton?

时间:2018-04-15 17:27:37

标签: react-native react-native-android react-native-ios react-native-router-flux

我正在使用3个选项卡在ReactNative中开发一个应用程序,其中一个选项卡的嵌套选项卡不可见。我使用react-native-router-flux来做到这一点。我有两个问题:

  1. 当我尝试放置第一个包含嵌套标签的标签名称时,我只能看到父标签的名称(附图像)。

  2. 当我在嵌套标签之间导航时,可以隐藏/显示后退按钮吗?

  3. 我的路由器.js

    <Router sceneStyle={ styles.router } backAndroidHandler={ onBackAndroid } hideNavBar>
      <Scene key="root">
         <Scene
              key="customer"
              title={ "APPNAME" }
              // type={ 'reset' }
              headerMode='none'
              tabBarPosition='top'
              tabs
              hideNavBar={false}
              wrap={false}
              showLabel
              // swipeEnabled={ true }
              // lazy={ true }
              tabBarStyle={ styles.tabBarStyle }
              titleStyle={ styles.titleStyle }
              navigationBarStyle={ styles.navigationBarStyle }
              backButtonTintColor={'#FFF'}
              renderRightButton={ renderNavBarRightMenu }
            >
              <Scene key="customerHome">
                <Scene key="scanQR" component={ HomeCustomerContainer } />
                <Scene key="vehicleDetail" component={ OrdersContainer } />
              </Scene>
              <Scene key="customerOrders" component={ ProfileContainer } hideNavBar/>
              <Scene key="customerProfile" component={ ProfileContainer } hideNavBar/>
            </Scene>
    
          </Scene>
        </Router>
    

    当用户从路由器中的scanQR转到vehicleDetail时,不会出现后退按钮。我需要这种行为,因为用户可以在需要时返回。

    行为必须是:用户按下浮动按钮,打开相机并扫描条形码。然后,当读取条形码时,它们从服务器获取信息并在新场景中显示,但后退按钮不会出现。

    我的代码出了什么问题?

    谢谢!

    图片 enter image description here更新: 我找到了标题问题的解决方案:

      

    一个场景,它是Tabs的直接子项,可以使用列出的所有道具   在场景中,

    https://github.com/aksonov/react-native-router-flux/blob/master/docs/API.md#tab-scene-child-scene-within-tabs

    当我打开另一个场景时,我仍然遇到显示后退按钮的问题:(

1 个答案:

答案 0 :(得分:0)

这应该有效:

onBackFunction()
{
  console.log("backkkkkkkkkk")
  Actions.sceneA()
}


<Scene key="root" >
          <Scene  key="sceneA" component={SceneA} />
          <Scene  key="sceneB" onBack={this.onBackFunction()} component={SceneB} />
</Scene>