这是关于React Native应用程序的Native Base框架的问题:
想象一下订阅屏幕; 1个文本输入和一个订阅按钮;
在我输入我的电子邮件地址后,我想点击订阅按钮,但我的第一个点击只关闭键盘,我需要再次点击按下按钮 . 这怎么可以避免?我的预期行为是第一次点按是按下按钮 . (据我所知,这是<Content>组件的一部分,但我不确定 . )
(我已经在本机厨房水槽应用程序上检查了这个问题,同样的问题也出现在那里 . 只需转到:'表单和输入'部分并看到'固定标签')
如果您使用 < Content keyboardShouldPersistTaps='always'> ,则在选择按钮后或在输入字段外部点击时,键盘不会消失 . 如果在输入字段外部点击,确保键盘消失,请使用
< Content keyboardShouldPersistTaps='always'>
< Content keyboardShouldPersistTaps='handled'>
但是,使用此功能,即使按钮的onPress事件将被触发,如果您选择一个按钮(而不是屏幕的空白部分),键盘也不会消失 . 要在按下按钮后使键盘消失,按钮的onPress处理程序应该调用
Keyboard.dismiss()
不要忘记包含import语句:
import { Keyboard } from 'react-native';
有关详细信息,请参阅https://facebook.github.io/react-native/docs/scrollview.html#keyboardshouldpersisttaps
将此作为prop传递给内容组件 .
2 回答
如果您使用
< Content keyboardShouldPersistTaps='always'>
,则在选择按钮后或在输入字段外部点击时,键盘不会消失 . 如果在输入字段外部点击,确保键盘消失,请使用但是,使用此功能,即使按钮的onPress事件将被触发,如果您选择一个按钮(而不是屏幕的空白部分),键盘也不会消失 . 要在按下按钮后使键盘消失,按钮的onPress处理程序应该调用
不要忘记包含import语句:
有关详细信息,请参阅https://facebook.github.io/react-native/docs/scrollview.html#keyboardshouldpersisttaps
将此作为prop传递给内容组件 .