Реагировать на родные два касания, необходимые для события onPress внутри scrollview - PullRequest
1 голос
/ 11 июня 2019

Я использую TextInput внутри ScrollView и KeyboardAvoidingView, но для отправки текста, когда клавиатура открыта, требуется два касания.
для растворения. Я добавляю 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>
    )
}

Как запустить событие пресса одним нажатием?

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Используйте "обработано" вместо "всегда". keyboardShouldPersistTaps = "ручка"

0 голосов
/ 11 июня 2019

Вы должны написать метод onPress компонента TouchableOpacity примерно так

 <TouchableOpacity
onPress={() => alert('Clicked)}>
      <Text>Submit</Text>
 </TouchableOpacity>
...