【发布时间】:2017-03-12 21:46:54
【问题描述】:
我有一个包含两个选项卡的应用程序:Tab1 和 Tab2。有两个场景:scene1 和scene2 作为我的Tab1 组的一部分,其中scene1 是初始视图。如果我导航到scene2,然后按Tab2,然后返回Tab1,它会自动从Tab1弹出scene2并返回scene1而不是停留在scene2上,这不是我想要的行为。
所以我的问题是:react-native-router-flux 中是否有一种方法可以防止在我按下标签栏项目时视图弹出到根目录?理想情况下,当我已经在同一个标签栏项目中查看视图时,它只会弹出到根视图。所以在上面的例子中,当我第一次按下 Tab1 时,它会停留在以前的现有视图上,但是如果我再次按下它,它就会弹出到根目录。
编辑:包括我的代码
<Scene key="root">
<Scene key="tabbar" tabs tabBarStyle={{ backgroundColor: '#FFFFFF' }} >
<Scene key="osu" title="OSU" icon={TabIcon}>
<Scene key="scarlet" component={ScarletScreen} title="Scarlet" initial />
<Scene key="gray" component={GrayScreen} title="Gray" />
</Scene>
<Scene key="um" title="UM" icon={TabIcon}>
<Scene key="blue" component={BlueScreen} title="Blue" initial />
<Scene key="maize" component={MaizeScreen} title="Maize" />
</Scene>
</Scene>
</Scene>
【问题讨论】:
-
我之前在
react-native-router-flux上没有经历过这种情况。您是否在每个选项卡场景组中的第一个嵌套Scene上设置了initial属性? -
@Rob 是的。我的问题是,当我返回选项卡场景组时,它总是跳回初始场景,即使我导航到组内的另一个场景。所以说我有两个场景:scene1 和scene2 作为我的Tab1 组的一部分,其中scene1 是初始视图。如果我导航到scene2,然后按Tab2,然后返回Tab1,它会自动返回scene1,而不是停留在scene2。我很确定这是默认行为 - 你是说这不会发生在你身上吗?
-
这绝对不会发生在我身上。并且您在包装场景上设置了 tabs 属性?有关代码示例,请参见答案。
标签: react-native react-native-router-flux