1

onPress所以我想創建一個自動完成搜索框有2兄弟看待TextInput和FlatList所以我的渲染功能如下(其中當this.state.data.length> 0只顯示): -陣營本地TextInput和FlatList捕獲的列表項

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,然後第二次點擊觸發列表項的TouchableOpacityonPress

如何在第一次點擊時觸發列表項的onPress?

demo gif

回答

2

它是在反應天然活性issue

與此同時,您可以嘗試在ScrollView中處理keyboardShouldPersistTaps物業。

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

非常感謝您的快速回答:) – aprofromindia

+0

肯定偉大的幫助:) – locropulenton