我现在正在开发一个由TextInput和ListView组成的搜索组件。它从外部服务器加载其结果并相应地填充ListView。
还有一个关闭搜索组件的TouchableOpacity。
不幸的是,需要按两次键才能获得所调用的TouchableOpacity的onPress回调--一次让TextInput失去焦点,另一次触发回调。但是,如果我按下TouchableOpacity关闭搜索组件,或者如果我按下"react-native-scrollable-tab-view“组件的某个选项卡,它会立即做出反应,并且TextInput甚至会保持焦点不变。
所以,我想知道是否有人知道ListView由于其滚动功能而以某种方式消耗了触摸。
发布于 2015-12-15 21:41:20
ScrollView
(和遗留的ListView
)组件有一个适当的keyboardShouldPersistTaps
,它有三个选项:
never
(默认值),当键盘打开时,在焦点文本输入之外轻敲可关闭键盘。发生这种情况时,孩子将不会收到键盘不会自动解除的tap.always
,,滚动视图不会捕捉到轻击,但滚动视图的孩子会捕捉到taps.handled
,当轻击由孩子处理(或由祖先捕捉)时,键盘不会自动解除。示例
<ScrollView keyboardShouldPersistTaps="always">
// Your TextInput and Button here…
</ScrollView>
我将这个属性设置为true,它就可以正常工作了。=)
https://stackoverflow.com/questions/34290787
复制相似问题