React Native & TextInput:如何为 Android 一一获取使用类型?
React Native & TextInput : How to get what the use type one by one for Android?
我正在尝试在 react native
中制作此 OTP
(6 digits
) 个输入框。
将发生的是 - 当用户按下任意键(backspace
键除外)时,它应该跳转到下一个框,当用户按下 backspace
键时,它应该返回到上一个框.
到目前为止,它在 iOS
上运行良好,然后当我检查 Android
时,它根本不会跳转到下一个框。上网查了一下,发现Android
不支持onKeyPress
。在没有 onKeyPress
的情况下,如何让它在 android 下工作?我应该使用 onChange
吗?但是我怎么知道用户是否按下 backspace
?
<TextInput
editable={editable}
value={input_1}
style={styles.inputBox}
keyboardType='number-pad'
ref={box_1}
// onChange={({ text }) => {
// setInput_1(text);
// }}
onFocus={() => {
}}
onKeyPress={({ nativeEvent }) => {
if (nativeEvent.key === 'Backspace') {
box1.current.focus();
} else {
focus(1);
}
}}
/>
谢谢。
文档说 在 android 工作 但从 soft keyboard
不是 hardware keyboard
我想你可能会忽略硬件键盘.
docs 说
Note: on Android only the inputs from soft keyboard are handled, not
the hardware keyboard inputs.
soft keyboard
和hardware keyboard
有什么区别?
soft keyboard
(屏幕键盘或软件键盘)类似于phone或平板电脑屏幕中的键盘。
hardware keyboard
(外接键盘)像带 USB 的键盘(android 支持)。
如果在模拟器中测试,请尝试通过鼠标使用模拟器键盘,而不是计算机键盘。
如果你不能忽略硬件键盘
我建议使用这个库react-native-confirmation-code-field try snack here
或者按照库的方式,它使用一个不可见的组件,它将被拉伸到组件上。
我正在尝试在 react native
中制作此 OTP
(6 digits
) 个输入框。
将发生的是 - 当用户按下任意键(backspace
键除外)时,它应该跳转到下一个框,当用户按下 backspace
键时,它应该返回到上一个框.
到目前为止,它在 iOS
上运行良好,然后当我检查 Android
时,它根本不会跳转到下一个框。上网查了一下,发现Android
不支持onKeyPress
。在没有 onKeyPress
的情况下,如何让它在 android 下工作?我应该使用 onChange
吗?但是我怎么知道用户是否按下 backspace
?
<TextInput
editable={editable}
value={input_1}
style={styles.inputBox}
keyboardType='number-pad'
ref={box_1}
// onChange={({ text }) => {
// setInput_1(text);
// }}
onFocus={() => {
}}
onKeyPress={({ nativeEvent }) => {
if (nativeEvent.key === 'Backspace') {
box1.current.focus();
} else {
focus(1);
}
}}
/>
谢谢。
文档说 在 android 工作 但从 soft keyboard
不是 hardware keyboard
我想你可能会忽略硬件键盘.
docs 说
Note: on Android only the inputs from soft keyboard are handled, not the hardware keyboard inputs.
soft keyboard
和hardware keyboard
有什么区别?
soft keyboard
(屏幕键盘或软件键盘)类似于phone或平板电脑屏幕中的键盘。
hardware keyboard
(外接键盘)像带 USB 的键盘(android 支持)。
如果在模拟器中测试,请尝试通过鼠标使用模拟器键盘,而不是计算机键盘。
如果你不能忽略硬件键盘
我建议使用这个库react-native-confirmation-code-field try snack here
或者按照库的方式,它使用一个不可见的组件,它将被拉伸到组件上。