<TextInput
ref={ ref => this.mobileNumberRef = ref}
keyboardType='phone-pad'
returnKeyType='done'
onBlur={() => Keyboard.dismiss()}
/>
我想在TextInput
区域之外触摸键盘。但是onBlur()
没有被解雇。
有人可以让我知道如何实现这一目标吗?谢谢!
onBlur。
Keyboard.Dismiss关闭活动的键盘并删除焦点。
通过触摸TextInput外部,无论如何您将失去对元素的关注,所以我不确定为什么也需要Keyboard.Dimiss
。
我也在沙盒上对此进行了测试,对我来说,它工作正常。也许您可以共享更多代码并确切说明您要实现的目标?
最后请检查Unfocus a TextInput in React Native,也许可以帮助您解决问题。
首先在文本输入模糊时调用onBlur
。但是,如果您想在以下情况下使用的TextInput区域之外触摸时关闭键盘,请执行以下操作
<ScrollView keyboardShouldPersistTaps="handled">
<TextInput
onChangeText={this.onChangeText}
keyboardType="phone-pad"
returnKeyType="done"
/>
</ScrollView>
或
<TouchableWithoutFeedback onPress={Keyboard.dismiss} accessible={false}>
<View style={{ flex: 1, backgroundColor: "#fff" }}>
<TextInput
onChangeText={this.onChangeText}
keyboardType="phone-pad"
returnKeyType="done"
/>
</View>
</TouchableWithoutFeedback>
希望这对您有所帮助。随时提出疑问。