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的主要内容,如果未能解决你的问题,请参考以下文章

wix上可以修改别人的网站吗

WiX 技巧和窍门

Wix:无法从Wix CustomAction调用DISM

Wix:在 Wix 之外运行命令时,运行外部 InstallShield 安装程序失败,退出代码为 -3

CMake系列:WIX打包

CMake系列:WIX打包