2015-05-04 26 views
19

Tôi muốn triển khai các nhãn nổi, vì điều này tôi có một Thành phần văn bản phía trên một TextInput. Tôi muốn bỏ qua tất cả các sự kiện liên lạc trên Text để TextInput Under nó nhận được tất cả các sự kiện. Có cách nào tôi có thể làm điều này? Trong CSS, chúng tôi đã sử dụng để không có sự kiện con trỏ, tôi không chắc chắn làm thế nào để làm điều này trong phản ứng bản địa.Có cách nào để tôi có thể bỏ qua các sự kiện chạm trên Văn bản trong React Native không?

+0

Sẽ rất hữu ích khi hiển thị cho chúng tôi những gì bạn có cho đến thời điểm này. –

+0

Tôi đang cố gắng để xây dựng một cái gì đó như http://codepen.io/soulrider911/pen/ugnyl –

+0

Nếu bất cứ ai đang tìm kiếm các giải pháp trong ** bình thường React ** (* không React Native *), bạn chỉ có thể thiết lập css thành 'pointer-events: none' cho phần tử mà bạn muốn các lần nhấp chuột đi qua. – protoEvangelion

Trả lời

11

Thêm pointerEvents: 'none' vào thành phần Text. Điều này cho phép các sự kiện chạm đến tổ tiên của thành phần, nhưng không phải là thành phần của chính nó hoặc con của nó.

React Native cũng hỗ trợ 'box-none', cho phép các sự kiện chạm tới tổ tiên và con của thành phần và chỉ loại trừ chính thành phần đó.

+3

Vì một lý do nào đó, tôi không thể làm cho nó hoạt động trên một thành phần 'Text', nhưng gói' Văn bản' trong một 'Xem' và đặt' pointerEvents = "none" 'prop ở đó để giải quyết nó. – Cryszon

36

Trong phản ứng gốc, pointerEvents is a prop, không phải là kiểu.

<View pointerEvents="none" /> 
+1

Có vẻ như không hoạt động nếu được đặt từ trạng thái. –

+0

dường như hoạt động nếu được đặt theo cách này '' – pnizzle

+0

Trong một số trường hợp, bạn có thể muốn các bản xem trước vẫn là mục tiêu của các lần chạm để pointerEvents = {'box-none'} sẽ là giải pháp thích hợp: https://facebook.github.io/react-native/docs/view.html#pointerevents – user1875631

3

Tôi gặp vấn đề tương tự như Cryszon. Trên Android có vẻ như pointerEvents = "none" không hoạt động đối với các thành phần Text.

Bao gói văn bản trong chế độ xem và đặt con trỏEvents = "none" prop ở đó giải quyết.

Các vấn đề liên quan