如何在React-native中检测TextInput的外部触摸

t3irkdon  于 2023-03-13  发布在  React
关注(0)|答案(1)|浏览(130)

我已经创建了一个自定义下拉列表视图。从该视图用户可以搜索,以及选择数据点击它。但我的问题是,如果用户打开该列表视图后点击外部空间,那么它应该像警报,弹出窗口自动关闭。
但目前它并不像预期的那样工作。
我写了下面的代码:
{模态可见?

(
  <View style={styles.emailItem}>
  <ShowCustomDropdown globalsearchdata={globalsearchdata} />
  </View>
) : null}
<View style={styles.textinputstyle}>
   <TextInput
     onTouchStart={()=> setModalVisible(true)}
     onChangeText={handleChange}
     style={styles.searchInput}
     placeholder="Type a message"
     value={search_term}
   />

klsxnrf1

klsxnrf11#

您不需要onTouchStart prop ,您可以在TextInput中使用以下 prop ,例如:

<TextInput
   onFocus={() => setModalVisible(true) }   //focus received
   onBlur={() => setModalVisible(false) }   //focus lost
   onChangeText={handleChange}
   style={styles.searchInput}
   placeholder="Type a message"
   value={search_term}
/>

onFocus prop会让你知道TextInput是否聚焦,onBlur prop会让你知道当你点击TextInput外部时它是否聚焦。
希望这对你有用。

相关问题