当键盘在react native中打开时,需要点击两次以激发ListItem中的onPress函数

vfhzx4xs  于 2023-03-13  发布在  React
关注(0)|答案(2)|浏览(148)

下面是我的代码,我面临的问题,当我点击列表项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} />
arknldoa

arknldoa1#

你应该在你的FlatList上使用keyboardShouldPersistTaps=always prop。
键盘不会自动关闭,滚动视图也不会捕捉点击,但滚动视图的子视图可以捕捉点击。
因此,无论键盘是否打开,您都可以只点击一次按钮。
还有一篇medium文章解释了如何解决React Native(也包含Problem 1: Button needs to be tapped twice)上常见的键盘问题

ru9i0ody

ru9i0ody2#

您可以:

<FlatList 
     ...
     keyboardShouldPersistTaps='always' //open keyboard
     keyboardDismisssMode='on-drag' //auto close keyboard 
/>

祝你好运!

相关问题