在 Native Base 上打开键盘时如何避免双击?

How to avoid double tap when keyboard is open on Native Base?

这是关于 React Native 应用程序的 Native Base 框架的问题:

想象一下订阅屏幕; 1 个文本输入和一个订阅按钮;

输入电子邮件地址后,我想点击订阅按钮,但第一次点击只会关闭键盘,我需要再次点击才能按下按钮。如何避免这种情况?我的预期行为是第一次点击是按下按钮。 (据我所知,这是围绕 < Content > 组件的,但我不确定。)

(我已经在本地厨房水槽应用程序上检查过这个问题,同样的问题也出现在那里。只需转到:'Forms and Input' 部分并查看 'Fixed Label')

将其作为 prop 传递给内容组件。

< Content keyboardShouldPersistTaps='always'>

如果您使用 < Content keyboardShouldPersistTaps='always'>,在 select 按下按钮后或在输入字段外点击时,小键盘不会消失。要确保在您点击输入字段外部时键盘消失,请使用

< Content keyboardShouldPersistTaps='handled'>

但是,有了这个,如果您 select 一个按钮(而不是屏幕的空白部分),即使按钮的 onPress 事件会被触发,键盘也不会消失。要使键盘在按下按钮后消失,按钮的 onPress 处理程序应调用

Keyboard.dismiss()

不要忘记包含导入语句:

import { Keyboard } from 'react-native';

有关详细信息,请参阅 https://facebook.github.io/react-native/docs/scrollview.html#keyboardshouldpersisttaps

keyboardShouldPersistTaps 属性 现在存在于 ScrollView 中。

<ScrollView keyboardShouldPersistTaps="always">
     {..content or component}
</ScrollView>

更多详情请访问官方文档

https://facebook.github.io/react-native/docs/scrollview#keyboardshouldpersisttaps