React-Native TextInput聚焦但不显示键盘

3
我正在为我父亲的公司开发一个库存系统,其中之一的要求是能够使用外部条形码/二维码扫描器。
我已经使用相机开发了所有内容,但我真的需要使用扫描器而不显示键盘。
你们中的任何人知道是否可能吗?如果不行,还有其他方法吗?

这可能是你想要的:https://dev59.com/KFUM5IYBdhLWcg3wMN59 - CampbellMG
如果你根本不需要用户交互,我觉得没有必要使用TextInput。 - Ravi
1
@Ravi 扫描仪作为一个外部键盘工作,它会输入内容并按下回车键,这就是为什么我需要一个TextInput,这样我才能记录数据。 - Gustavo Martins do Santos
如果扫描仪正在写入数据,我相信您将以字符串格式获取数据,在这种情况下,您可以直接使用简单的文本/标签。 - Ravi
@GustavoMartinsdoSantos 你有没有找到任何替代解决方案?面对完全相同的问题。 - Necmettin Sargın
显示剩余2条评论
2个回答

1
在较新的React Native版本中有一个名为showSoftInputOnFocus的属性。将其设置为false可以隐藏键盘。 <TextInput showSoftInputOnFocus={false} autoFocus={true}..../> 在v0.60.0版本中对我有效。

0

现在可以在iOS和Android上使用,无需任何属性即可将TouchableOpacity与ScrollView包装在一起,以使点击打开键盘的功能正常工作!

const [openKeyboard, setOpenKeyboard] = useState(autoFocus);

const onPressInput = useCallback(() => {
    inputRef.current.focus();
    setOpenKeyboard(true)
}, [inputRef]);

  <ScrollView
    >
        <TouchableOpacity
            activeOpacity={1}
            style={[styles.container, style]}
            onPress={onPressInput}

        >
            {renderInputBox()}
            <View style={{ width: 0, height: 0 }}>
                <TextInput
                    keyboardType="numeric"
                    returnKeyType="done"
                    autoFocus={openKeyboard}
                    maxLength={codeLength}
                    ref={inputRef}
                />
            </View>
        </TouchableOpacity>
    </ScrollView>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接