React-native键盘,dismiss在使用键盘时关闭键盘

qfe3c7zg  于 2023-01-31  发布在  React
关注(0)|答案(1)|浏览(161)

我正在尝试在TouchableWithoutFeedback元素中使用Keyboard.dismiss(),出于某种原因,无论我将此TouchableWithoutFeedback元素放在何处,在点击TextInput之外的区域时键盘都不会关闭,但在点击键盘本身时它会关闭!为什么会发生这种情况,我如何修复它?另外,它在另一个项目中运行良好

**给Stack Overflow员工的消息:**我的许多线程都因为“不清楚”而被锁定,尽管我已经非常彻底地检查了每个线程,但不要锁定此线程

守则:

return (
<TouchableWithoutFeedback onPress={Keyboard.dismiss()}>
<View style={styles.mainView}>

  <View style={styles.topSearchView}>
    <Image source={require("../../assets/NewSearchIcon.png")} style={styles.searchIcon} />
    <TextInput
      placeholder="Search for food you like..."
      onChangeText={searchedCoursesHandler}
      value={searchedCourses}
      onFocus={() => { setInputBorderOnFocus(true) }}
      style={{
        borderColor: inputBorderOnFocus === true ? "#428463" : "grey",
        borderWidth: 2,
        width: 260,
        height: 50,
        marginLeft: 10,
        fontSize: 18,
        padding: 5,
        borderRadius: 8,
        fontSize: 16
      }}
    />
    <TouchableOpacity
      onPress={() => { setSearchedCourses("") }}
      style={styles.deleteInputTouchable}
    >
      <Image source={require("../../assets/newXicon.png")} style={styles.xButtonIcon} />
    </TouchableOpacity>
  </View>

   

  <View style={styles.flatListView}>
    <FlatList
      data={searchedCourses}
      renderItem={({ item }) => (
        <TouchableOpacity
          onPress={() => {
            navigation.navigate('item profile', {
              item: item,
            });
          }}
        >
          <View style={styles.flatListItemView}>
            <Image source={{ uri: item.img }} style={styles.flatListImg} />
            <Text>{item.name}</Text>
            <Text>{item.price}$</Text>
          </View>
        </TouchableOpacity>
      )}
      horizontal={true}
    />
  </View>


  {
    searchedCourses.length < 1 &&
    <Image source={require("../../assets/NewPastaImage.png")} style={styles.pastaIcon} />
  }

</View>
</TouchableWithoutFeedback>

);

enter code here
798qvoo8

798qvoo81#

更改此内容<TouchableWithoutFeedback onPress={Keyboard.dismiss()}
变成这样

<TouchableWithoutFeedback onPress={() => Keyboard.dismiss()}>

相关问题