2015-05-04 40 views
19

我想實現浮動標籤,爲此我有一個TextInput上方的文本組件。我想忽略文本上的所有觸摸事件,以便它下面的TextInput獲取所有事件。有什麼辦法可以做到這一點?在CSS中,我們過去沒有指針事件,我不知道如何在反應原生中做到這一點。有沒有一種方法可以忽略React Native中的文本上的觸摸事件?

+0

這會有助於向我們展示您到目前爲止的狀況。 –

+0

我正在嘗試構建類似http://codepen.io/soulrider911/pen/ugnyl –

+0

如果有人正在尋找**正常React **(*不React Native *)中的解決方案,則可以簡單地設置css到'pointer-events:none'來指定你希望點擊通過的元素。 – protoEvangelion

回答

11

pointerEvents: 'none'添加到Text組件。這允許觸摸事件發送到組件的祖先,但不允許組件本身或其子組件。

React Native還支持'box-none',它允許觸摸事件轉到組件的祖先和子組件,並僅排除組件本身。

+3

出於某種原因,我無法讓它在'Text'組件上工作,但是將'Text'包裝到'View'中,並將'pointerEvents =「none」'prop放在那裏解決了它。 – Cryszon

36

在反應原生,pointerEvents is a prop,不是一種風格。

<View pointerEvents="none" /> 
+1

如果從狀態設置,似乎沒有工作。 –

+0

似乎工作,如果設置這種方式'<查看pointerEvents = {'none'} />''' – pnizzle

+0

在某些情況下,您可能希望子視圖仍然是觸摸的目標,因此pointerEvents = {'box-none'}將是適當的解決方案:https://facebook.github.io/react-native/docs/view.html#pointerevents – user1875631

3

我和Cryszon有同樣的問題。在Android上看起來像pointerEvents =「none」不適用於文本組件。

在視圖中包裝文本並將pointerEvents =「none」prop放在那裏解決它。

相關問題