我在ScrollView和KeyboardAvoidingView中使用TextInput,但是当键盘打开时,它需要两次点击才能提交文本。
对于解决方案,我添加了键盘应该坚持点击="总是">,但它不起作用。
render() {
return (
<View style={{flex: 1}}>
<KeyboardAvoidingView style={{flex:1}}>
<ScrollView keyboardShouldPersistTaps="always"
contentContainerStyle={{
paddingHorizontal: 10,
flexGrow : 1,
justifyContent : 'center',
alignItems:'center'}}>
<View style={{backgroundColor:'green', width:'100%', borderRadius:8, overflow:'hidden'}}>
<TextInput style={{margin:10}}/>
<TouchableOpacity onPress={() => {alert('alert')}}>
<Text>Submit</Text>
</TouchableOpacity>
</View>
</ScrollView>
</KeyboardAvoidingView>
</View>
)
}
如何在新闻发布会上一键触发?
使用 "handled"
而不是 "always"
。 keyboardShouldPersistTaps="handled"
你必须编写一个 onPress 方法的 TouchableOpacity 组件
,如下所示 <TouchableOpacity
onPress={() => alert('Clicked)}>
<Text>Submit</Text>
</TouchableOpacity>