2015-09-30 30 views
18

Có cách nào đơn giản để ẩn bàn phím iOS không? Tôi muốn ép buộc nó đóng trong một vài tình huống cụ thể mà không nhất thiết đòi hỏi phải tập trung vào một khung nhìn khác. tức là giống như một phản hồi cụ thể từ máy chủ.Loại bỏ bàn phím phản ứng có nguồn gốc

+1

có thể trùng lặp của [phản ứng bản địa: ẩn bàn phím] (https://stackoverflow.com/questions/29685421/react-native-hide-keyboard) –

Trả lời

51

Sử dụng built-in Keyboard Module:

import { Keyboard } from 'react-native'; 

Keyboard.dismiss(); 
+0

Có cách nào để loại bỏ bàn phím và không bị mất tiêu điểm không? – roadev

24

Đã có thể đạt được điều này với

import dismissKeyboard from 'react-native/Libraries/Utilities/dismissKeyboard' 

Và sau đó tại điểm mà tôi cần phải chuyển đổi bàn phím tắt

dismissKeyboard(); 

- - EDIT - -

Nhập như thế này hoạt động như nhau là tốt.

import dismissKeyboard from 'dismissKeyboard' 

- - EDIT # 2 - -

câu trả lời ban đầu của tôi bây giờ đã lỗi thời. Cách đúng được đề cập dưới đây bởi @ Chen-Tsu Lin

import { Keyboard } from 'react-native'; 

Keyboard.dismiss(); 
+4

Từ React Native 0.35, có một thành phần Keyboard mà bạn có thể sử dụng. http://facebook.github.io/react-native/releases/next/docs/keyboard.html. Tuy nhiên, tôi không thể nhập {Keyboard} từ 'phản ứng gốc' như tài liệu gợi ý. Tôi sử dụng const {Keyboard} từ 'phản ứng bản địa'. – shrutim

+1

Tôi bỏ phiếu cho câu trả lời này, không phải vì nó không chính xác, chỉ vì lỗi thời của nó. Sử dụng công cụ xây dựng mô-đun bàn phím trong RN – neiker

2

Bạn cũng có thể sử dụng thư viện này tôi đã viết: react-native-dismiss-keyboard. Về cơ bản, nó giống như nhập khẩu 'dismissKeyboard', nhưng nó chỉ sử dụng API công cộng và do đó an toàn hơn để sử dụng và không dựa vào việc đóng gói giải quyết 'dismissKeyboard' như hiện tại.

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