我正在使用Wix的react-native-navigation v2,试图将屏幕推送到现有堆栈。这是我的推送代码:
Navigation.push(this.props.componentId, {
component: {
name: 'chapel.search'
}
})
我的选项对象
static options (passProps) {
console.log('Firing static method')
return {
component: {
name: 'chapel.search',
topBar: {
visible: true,
leftButtons: [
{
id: 'back',
testID: 'back',
icon: require('../../Images/back.png')
}
],
title: {
component: {
name: 'chapel.navtitle',
alignment: 'center',
passProps: { text: 'Search' }
}
},
rightButtons: []
}
}
}
}
我从没有看到log语句,并且topbar选项没有更改。应该吗?
当我在目标屏幕的Navigation.mergeOptions
中将constructor
与上面的选项对象一起使用时,会显示选项,所以这就是我现在要使用的。
使用android,尚未在iOS上进行测试。当我这样做时会更新。
答案 0 :(得分:0)
我正在组件中生成这样的静态选项:
static get options() {
return {
...
}
}
当我从另一个屏幕推入并想覆盖一些默认设置时,我会像下面这样操作:
Navigation.push(this.props.componentId, {
component: {
name: 'chapel.search',
passProps: {
myProp: myprop1
},
options: {
topBar: {
title: {
text: newTitleOverridingStaticOne
}
}
}
}
});
我不知道static options (passProps){...}
是否有效,但是您可以像上面显示的那样尝试检查它是否已解决