typescript - 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不兼容吗?如果它是兼容的,我需要做些什么才能让它工作?
所有这些都是为了监听一个输入事件,所以如果有其他选择,我也会很高兴。
解决方案
事实证明,Windows 对此很反感。将 multiline 设置为 true 时,幕后的侦听器会在 enter keypress 事件到达 onKeyPress 侦听器之前将其吞下。不得不破解 react-windows-native 中的修复程序。
推荐阅读
- python - 如何使用 selenium 向下滚动,直到屏幕底部位于最顶部?(py)
- ios - 我可以在 GCD 并发上下文下使用 pthread 互斥锁吗
- oracle - 在表名中使用变量
- node.js - npm 运行脚本不工作,bur 运行脚本单独工作
- sql - 在数字格式的指定长度后添加逗号
- python - 使用 pip 在 pypy 中安装 numpy 时如何修复错误?
- flutter - PopUpMenuButton 在列表视图颤动中不起作用
- numpy - TensorFlow 2 自定义损失:“没有为任何变量提供梯度”错误
- python - 无法从 Python 中的对象检查代码
- react-native - 有没有更好的方法将 Landbot (ChatBot) 集成到 React Native App 中?