当在本机中打开键盘时,需要点按两次以激发ListItem中的onPress函数

时间:2018-09-20 13:54:01

标签: react-native

下面是我的代码,我遇到的问题是,当我单击列表项onPress时,它在键盘打开时第一次不起作用,因此我需要点按两次以进行操作,任何帮助表示赞赏。

<FlatList
   data={this.state.users}
   renderItem={({ item,index }) => (
     <ListItem
     title={item.userName}
     onPress={item => this.sendRequestToTheUser(item)}
     containerStyle={{ borderBottomWidth: 0 }} />)}

     keyExtractor={(item, index) => index.toString()}
     extraData={this.state.userName} />

1 个答案:

答案 0 :(得分:3)

您应该在FlatList上使用keyboardShouldPersistTaps=always属性。正如RN documentation所说:

  

键盘不会自动关闭,滚动视图也不会捕获轻敲,但是滚动视图的子级可以捕获轻击。

因此,无论键盘是否打开,您都可以轻按一下按钮。
还有一个medium帖子,解释了如何解决React Native(也包含Problem 1: Button needs to be tapped twice)上的常见键盘问题