我已经创建了createMaterialTopTabNavigator
:
const topSurvayorsNavigator = createMaterialTopTabNavigator({
ActiveSurveyor: {
screen: MomayezanScreen,
params: { status: 1 },
},
DeActiveSurveyor: {
screen: MomayezanScreen,
params: { status: 0 },
}
}, {
swipeEnabled: true,
tabBarOptions: {
labelStyle: {
fontSize: 12
},
activeTintColor: Colors.darkGray
}
});
我将此导航器添加到堆栈导航中:
const AuditMomayezanNavigator = createStackNavigator({
Dashboard: DashboardScreen,
ListSurveyor: {
screen: topSurvayorsNavigator,
navigationOptions: ({ navigation }) => {
switch (navigation.state.routes[navigation.state.index]["routeName"]) {
case "ActiveSurveyor":
console.log("ActiveSurveyor")
return {
header: () => <CustomHeader
title='page1'
onTermSubmit={() => searchApi(0)}
/>
}
case "DeActiveSurveyor":
console.log("DeActiveSurveyor")
return {
header: () => <CustomHeader
title='page2'
onTermSubmit={() => searchApi(1)}
/>
}
default:
return { title: (navigation.state.routes[navigation.state.index]["routes"])[(navigation.state.routes[navigation.state.index]["index"])].routeName }
}
}
},
Detail: SurveyorDetailsScreen,
}, {
defaultNavigationOptions: defaultNavOptions
});
如您所见,我使用自定义标头进行堆栈导航:
header: () => <CustomHeader
title='page1'
onTermSubmit={() => searchApi(1)}
/>
在自定义视图中,我必须使用参数将诸如searchApi之类的方法发送为onTermSubmit
prop。如何从导航器中调用MomayezanScreen
页面内的searchApi(number)?