因此,我试图创建一个自动完成搜索框,它有两个兄弟视图TextInput和FlatList(仅在this.state.data.length> 0
时显示),因此我的渲染函数如下所示:-
renderItem = ({ item }) => {
return (
<TouchableOpacity
onPress={(item) => {/* do something here */}}>
<Text>{item.key}</Text>
</TouchableOpacity>
);
}
render(){
return (
<View>
<TextInput />
{this.state.data.length > 0 &&
<FlatList
data={this.state.data}
renderItem={this.renderItem} />}
</View>);
}
问题是,当我点击列表项时,第一次点击会触发TextInput
的onEndEditing
回调,然后第二次点击会触发列表项的TouchableOpacity
的onPress
回调。
如何在第一次点击时触发列表项的onPress?
1条答案
按热度按时间z9smfwbn1#
在react-native中它是一个活跃的issue。
同时,您可以尝试在
ScrollView
中处理keyboardShouldPersistTaps
属性。