Я использую плагин для автозаполнения ввода. Я поместил этот компонент в Scrollview. Другое поведение - это нормально, например, отображение списка предложений во всплывающем окне с нашим индивидуальным дизайном.
Упомянутый плагин: - Плагин
Но onStartShouldSetResponder {() => true} не работает. Из-за этого я не могу прокручивать список предложений.
Вот мой реализованный код =>
<ScrollView keyboardShouldPersistTaps='always' style = {[commonstyles.mainContainer,styles.mainContainer,{marginBottom:20}]}>
<View style = {{width:width-30,height:45}}>
<Autocomplete
autoCapitalize = "none"
autoCorrect = {false}
hideResults = {false}
containerStyle = {{flex: 1,left: 10,position: 'absolute',right: 10,top: 0,zIndex: 1}}
data = {films.length === 1 && comp(query, films[0].name) ? [] : films}
defaultValue = {query}
onChangeText = {text => this.setState({ query: text })}
placeholder = "Select Contact"
renderItem = {({ id,name }) => (
<TouchableOpacity onStartShouldSetResponder = {()=>{return true;}} activeOpacity = {1} onPress = {() => this.setState({ query: name })}>
<Text style = {{fontSize:Global.DESCRIPTION_FONT_SIZE,color:Global.APP_BLACK_COLOR,borderBottomWidth:0.5,borderColor:Global.APP_BLACK_COLOR,padding:5}}>
{id} {name}
</Text>
</TouchableOpacity>
)}
/>
</View>
</Scrollview>
Добавьте параметр scrollEnabled в свой Scrollview.
Попробуйте с кодом ниже
<ScrollView scrollEnabled = {this.state.enableScrollViewScroll} keyboardShouldPersistTaps='always' style = {[commonstyles.mainContainer,styles.mainContainer,{marginBottom:20}]}>
<View style = {{width:width-30,height:45}}>
<Autocomplete
autoCapitalize = "none"
autoCorrect = {false}
hideResults = {false}
onStartShouldSetResponderCapture = {() => {
var self=this;
this.setState({ enableScrollViewScroll: false });
console.info("Here==>",self.state.enableScrollViewScroll);
}}
containerStyle = {{flex: 1,left: 10,position: 'absolute',right: 10,top: 0,zIndex: 1}}
data = {films.length === 1 && comp(query, films[0].name) ? [] : films}
defaultValue = {query}
onChangeText = {text => this.setState({ query: text })}
placeholder = "Select Contact"
renderItem = {({ id,name }) => (
<TouchableOpacity activeOpacity = {1} onPress = {() => this.setState({ query: name,enableScrollViewScroll:true })}>
<Text style= {{fontSize:Global.DESCRIPTION_FONT_SIZE,color:Global.APP_BLACK_COLOR,borderBottomWidth:0.5,borderColor:Global.APP_BLACK_COLOR,padding:5}}>
{id} {name}
</Text>
</TouchableOpacity>
)}
/>
</View>
</Scrollview>