3

我在 ScrollView 和 KeyboardAvoidingView 中使用 TextInput,但它需要在键盘打开时点击两次才能提交文本。
对于解决方案,我添加了keyboardShouldPersistTaps="always"但它不起作用。

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>
    )
}

如何在单击时触发新闻事件?

4

2 回答 2

5

使用"handled"而不是"always". keyboardShouldPersistTaps="handled"

于 2019-06-12T05:39:34.643 回答
1

您必须编写类似这样的 TouchableOpacity 组件的 onPress 方法

 <TouchableOpacity
onPress={() => alert('Clicked)}>
      <Text>Submit</Text>
 </TouchableOpacity>
于 2019-06-11T07:19:16.820 回答