React Native:关闭键盘并保持TextInput的焦点

5
我已经尝试了所有的方法,但当我取消键盘时,焦点也会失去。但当我希望用户将信息粘贴到TextInput中时,我不想显示软键盘。
<TextInput
    ref='barcodeInput'
    style={{height: 60,borderColor: '#000000', borderWidth: 1, width:300, fontSize:30}}
    underlineColorAndroid="transparent"
    onChangeText={(text) => this.setState({inputBarcode:text})}
    onSubmitEditing={this.handleSubmitEditing.bind(this)}
    keyboardType = {'numeric'}
/>

这个问题有解决方案吗?我觉得很疯狂,模糊文本输入的概念被固化到了keyboard.dismiss中,却没有给出防止这种行为的选项。 - sbearben
2个回答

0
你可以在TextInput上使用showSoftInputOnFocus prop来控制其行为。
当prop值为false时,将防止在字段获得焦点时显示软键盘。默认值为true。
文档链接:https://reactnative.dev/docs/textinput#showsoftinputonfocus 当prop值为false时,键盘不会打开,但输入仍然保持聚焦状态。

你的回答可以通过提供更多支持信息来改进。请[编辑]以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community
虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。-【来自审查】 - tomerpacific

-4
你应该可以使用来自于React Native的键盘组件Keyboard。例如:
import { Keyboard } from 'react-native'
Keyboard.dismiss()

仍然应该把重点放在您的输入上,但软键盘将会消失。


1
这对我不起作用。Keyboard.dismiss() 隐藏键盘,但也会移除焦点。有没有特殊的使用方法? - Daniel Jose Padilla Peña
1
这个答案是无效的,RN的文档对于dismiss函数说了相反的话:Dismisses the active keyboard and REMOVES focus - milkersarac

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