Wix React-Native-Navigation:自定义组件按钮的 onPress
Posted
技术标签:
【中文标题】Wix React-Native-Navigation:自定义组件按钮的 onPress【英文标题】:Wix React-Native-Navigation: onPress for custom component button 【发布时间】:2018-05-03 10:40:14 【问题描述】:我按照here 给出的示例编写了一个自定义右导航按钮。但是,在使用自定义组件时,似乎不再调用 onNavigatorEvent()
方法。我什至尝试将 onPress 事件作为道具传递给我的自定义组件,但它以undefined
的形式出现。有什么我遗漏的吗?
这就是我将 onPress 属性传递给创建按钮的函数的方式:
Navigation.registerComponent('DoneButton', () => DoneButton);
const DoneButton = (text, backgroundColor, textColor, onPressAction) =>
var containerStyle = [backgroundColor: backgroundColor, width: 70, height:30, justifyContent:'center', borderRadius:4, shadowColor:'black', shadowOpacity:0.2, shadowRadius:1, shadowOffset:width:0, height:2];
return(
<TouchableOpacity style=containerStyle onPress=onPressAction>
<Text style=[color:textColor, textAlign: 'center', fontSize:16]>
text
</Text>
</TouchableOpacity>
);
_renderDoneButton()
this.props.navigator.setButtons(
rightButtons: [
id: 'Done'
component: 'DoneButton',
passProps: this._DoneButtonProps(),
],
)
_DoneButtonProps()
return
text: 'Done',
backgroundColor: 'green',
textColor: 'white',
onPressAction: this._doneAction.bind(this)
_doneAction()
alert('Done');
【问题讨论】:
嗨,你能分享一些代码吗?注册,function
本身
@gran33 好的,添加更多代码
@gran33 请刷新并查看更新后的代码
【参考方案1】:
从 1.1.282 版开始,您可以将不可序列化的道具传递给自定义按钮,因此您传递的 onPress 方法应该可以工作。
【讨论】:
道具顺利通过。除了 onPress。调试每个道具时似乎都有效,但 onPressAction 未定义。如果可能,您能否提供一个工作示例。 你有什么版本的RNN? 我有版本 1.1.262。正如你所说,道具正在通过。除非您专门指的是 onPress 道具。如果是这样,那么我将升级并再次测试。 如果您指定的版本适用于传递 onPress 道具,那么在此之前自定义按钮如何响应触摸事件?我确定我在这里遗漏了一些东西......以上是关于Wix React-Native-Navigation:自定义组件按钮的 onPress的主要内容,如果未能解决你的问题,请参考以下文章