有没有一种方法可以忽略React Native中的文本上的触摸事件?

问题描述:

我想实现浮动标签,为此我有一个TextInput上方的文本组件。我想忽略文本上的所有触摸事件,以便它下面的TextInput获取所有事件。有什么办法可以做到这一点?在CSS中,我们过去没有指针事件,我不知道如何在反应原生中做到这一点。有没有一种方法可以忽略React Native中的文本上的触摸事件?

+0

这会有助于向我们展示您到目前为止的状况。 –

+0

我正在尝试构建类似http://codepen.io/soulrider911/pen/ugnyl –

+0

如果有人正在寻找**正常React **(*不React Native *)中的解决方案,则可以简单地设置css到'pointer-events:none'来指定你希望点击通过的元素。 – protoEvangelion

pointerEvents: 'none'添加到Text组件。这允许触摸事件发送到组件的祖先,但不允许组件本身或其子组件。

React Native还支持'box-none',它允许触摸事件转到组件的祖先和子组件,并仅排除组件本身。

+3

出于某种原因,我无法让它在'Text'组件上工作,但是将'Text'包装到'View'中,并将'pointerEvents =“none”'prop放在那里解决了它。 – Cryszon

在反应原生,pointerEvents is a prop,不是一种风格。

<View pointerEvents="none" /> 
+1

如果从状态设置,似乎没有工作。 –

+0

似乎工作,如果设置这种方式'''' – pnizzle

+0

在某些情况下,您可能希望子视图仍然是触摸的目标,因此pointerEvents = {'box-none'}将是适当的解决方案:https://facebook.github.io/react-native/docs/view.html#pointerevents – user1875631

我和Cryszon有同样的问题。在Android上看起来像pointerEvents =“none”不适用于文本组件。

在视图中包装文本并将pointerEvents =“none”prop放在那里解决它。