Luc*_*rdo 9 keyboard-events reactjs react-native
我有一台霍尼韦尔扫描仪,可在扫描条形码时输出文字.我可以将它用作文本输入的"键盘",这非常方便,因为我不需要接口任何东西.但它的缺点是必须集中输入并因此显示移动设备的虚拟键盘,这对我正在进行的项目来说是不可接受的.
有没有办法在不必聚焦输入的情况下扫描值?我相信听取keyPress事件或类似的事件将是一种方法,将输入的值存储在textInput以外的变量中.
如果有更好的方法来实现这一点,我全都耳朵!
好吧,大家,找到了一种方法来做到这一点,而不会太疯狂。这不是最优雅的解决方案,但它正是我所需要的,并且不会向代码中添加太多内容。
import { Keyboard, TextInput } from 'react-native';
...
<TextInput
autoFocus
onFocus={() => Keyboard.dismiss()} />
Run Code Online (Sandbox Code Playgroud)
这里的游戏名称是autoFocus和onFocus={() => Keyboard.dismiss()} />。
现在我将按照@MattAft 的建议使用https://www.npmjs.com/package/react-native-keyevent来监听按键(不幸的是,这个包不会给我实际的扫描仪输入。但是,它会,触发 keyDown 事件)以在扫描仪读取内容时聚焦 TextInput。
更新
几天前,当我们有时间重构这个组件时,一位同事帮了我一些忙,我们发现onKeyMultipleListener在 react-native-keyevent 包上有一个侦听器,它不仅侦听多个同时发生的 keyPresses,而且捕获整个输入,这正是我们在这里需要的。
| 归档时间: |
|
| 查看次数: |
3572 次 |
| 最近记录: |