首页 > 解决方案 > onKeyPress 不产生在 React-Native Windows 中按下的键

问题描述

我正在将 react-native 版本 0.54.0 用于 Windows 应用程序。我有一个TextInput元素,我想实现onKeyPress. 我有以下内容:

<TextInput 
ref = { this.setTextInputRef }
onChange = { (e) => this.setState({ currentString: e.nativeEvent.text }) }
onKeyPress = { (e) => { console.log(e) }}
onSubmitEditing = { () => this.doAThing() }
multiline = { true }
/>

在我的编辑器中,将鼠标悬停在e事件上onKeyPress表明它是一个字符串。但是,doingconsole.log(e)表明它是一个 SyntheticEvent,其所有属性都为空。我知道onKeyPress刚开始使用android,它与windows不兼容吗?如果它是兼容的,我需要做些什么才能让它工作?

所有这些都是为了监听一个输入事件,所以如果有其他选择,我也会很高兴。

标签: typescriptreact-native

解决方案


事实证明,Windows 对此很反感。将 multiline 设置为 true 时,幕后的侦听器会在 enter keypress 事件到达 onKeyPress 侦听器之前将其吞下。不得不破解 react-windows-native 中的修复程序。


推荐阅读