reactjs - 如何在 React Native 中监听键盘输入

标签 reactjs react-native keyboard-events

我有一个霍尼韦尔扫描仪,可以在扫描条形码时输出文本。 我可以将它用作文本输入的“键盘”,这非常方便,因为我不需要连接任何东西。 但它的缺点是必须集中输入,从而显示移动设备的虚拟键盘,这对于我正在从事的项目来说是 Not Acceptable 。

有什么方法可以在不聚焦输入的情况下扫描值?我相信监听 keyPress 事件或类似事件将是一种可行的方法,将输入的值存储在 textInput 之外的变量中。

如果有更好的方法来实现这一目标,我洗耳恭听!

最佳答案

好吧,大家都找到了一种方法来做到这一点,但又不会太疯狂。 这不是最优雅的解决方案,但它完全符合我的需要,并且不会向代码添加太多内容。

import { Keyboard, TextInput } from 'react-native';

...

<TextInput
  autoFocus
  onFocus={() => Keyboard.dismiss()} />

这里的游戏名称是 autoFocusonFocus={() => Keyboard.dismiss()}/>

现在我将使用 https://www.npmjs.com/package/react-native-keyevent按照@MattAft的建议监听按键(不幸的是这个包不会给我实际的扫描仪输入。但是,它会触发 keyDown 事件)以在扫描仪读取内容时聚焦 TextInput。

更新 几天前,当我们有时间重构这个组件时,一位同事帮了我一些忙,我们发现在react-native-keyevent包上有一个名为onKeyMultipleListener的监听器,它不仅监听多个同时按下的按键,但也捕获整个输入,这正是我们此处所需要的。

关于reactjs - 如何在 React Native 中监听键盘输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49199745/

相关文章:

javascript - 在 React Native 中链接 CSS 框架

android - React Native警告: "Setting a timer for a long period of time...". 如何定位原因?

reactjs - 未捕获的类型错误 : Cannot read properties of undefined (reading 'location' )

javascript - 在 react.js 上下文中获取 html 元素的数据属性

react-native - 如何在 React Native 中实现 Swedish bankid SSL pinning

firebase - React Native/Redux/Firebase - onAuthStateChanged 未调度

reactjs - "undefined is not an object"this.state 未绑定(bind)

java - 游戏键盘上宏键的键码是什么?

jquery - ESC 关闭 JS 菜单

objective-c - CGEventSetFlags - 发现本地字符串何时需要 shift 修改键