gpt4 book ai didi

react-native - React Native TextInput 和 FlatList 捕获 ListItem 的 onPress

转载 作者:行者123 更新时间:2023-12-04 05:07:31 28 4
gpt4 key购买 nike

因此,我正在尝试创建一个具有 2 个同级 View 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>);
}

问题是当我点击列表项时,第一次点击触发 TextInputonEndEditing 回调,然后第二次点击触发 onPress TouchableOpacity 的。

请问如何在第一次点击时触发列表项的onPress?

demo gif

最佳答案

这是一个活跃的issue在 native react 中。

与此同时,您可以尝试在 ScrollView 中处理 keyboardShouldPersistTaps 属性。

return (
<ScrollView
style={ styles.flex }
automaticallyAdjustContentInsets={ false }
keyboardShouldPersistTaps="handled"
contentInset={{ 'bottom':20 }}
keyboardDismissMode='on-drag'
>
<View>...</View>
</ScrollView>
);

关于react-native - React Native TextInput 和 FlatList 捕获 ListItem 的 onPress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45957085/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com