react native 记录textInput组件点击其他地方键盘无法收缩问题

2,550 阅读1分钟

最近在开发react native的项目,使用textInput组件发现点击空白的地方并不能收起键盘,下面介绍一下我的两个解决方案

方案一:使用scrollView作为父组件容器,即可以实现点击空白处收起键盘

  <ScrollView>
      <Input
        p={3}
        size={'sm'}
        placeholder="Test"
      />
    </ScrollView>

方案二:手动隐藏键盘,在事件中关闭键盘

import {Keyboard} from 'react-native';

<TouchableOpacity onpress={() => keyboard.dimiss()}>
  <Input
    p={3}
    size={'sm'}
    placeholder="Test"
  />
</TouchableOpacity>

我这边会更推荐使用方案一,首先代码会更简洁,更合理些,第二个使用touchanbeOpacity组件的时候就出现过bug,所以更推荐大家使用方案一