ReactNative鍵盤無法收起的問題

2021-08-25 19:39:07 字數 1000 閱讀 8129

問題描述:

reactnative版本0.52.0,當頁面有連續多個textinput時,切換焦點,鍵盤無法收起。

在react-native中有textinputstate這個類,記錄了當前獲取焦點的textinput的textfieldid,用來和原生進行互動。經過試驗發現,多個textinput切換焦點後,呼叫關閉鍵盤的方法,textfieldid為null,個人認為是切換焦點時所記錄的狀態沒有修改所導致的。具體為什麼沒有修改,技術水評限制沒有找到原因。

blurtextinput: function(textfieldid: ?number)在這個方法中可以看,所傳入的textfieldid為null,所以才無法收起鍵盤。

/**

* @param textinputid id of the text field to focus

* focuses the specified text field

* noop if the text field was already focused

*/focustextinput: function(textfieldid: ?number) else if (platform.os === 'android') }},

/*** @param textfieldid id of the text field to unfocus

* unfocuses the specified text field

* noop if it wasn't focused

*/blurtextinput: function(textfieldid: ?number) else if (platform.os === 'android')

}}};

本人的解決方法是,匯出乙個原生方法,強制收起鍵盤,無法收起鍵盤時呼叫此方法強制收起。

rct_export_method(endediting) {

dispatch_async(dispatch_get_main_queue(), ^{

React native 無法彈出除錯控制項的問題

react native 在debug模式下,可以通過搖動手機,彈出除錯選項。但是今天利用了cocoapods 把react native 檔案整理後,除錯介面就彈不出了,其他功能正常。查了好久,發現是少在pods的 spec裡寫了devsupport 這個模組。下面發乙份pods 的 spec 檔...

react native專案無法執行的暴力解決方案

當你在看到這篇部落格的時候,可能正在為rn無法執行而感到頭疼。我還是很遺憾地想說,我並不能保證以下方法能夠成功,畢竟這些只是我的經歷。根據報錯提示進行排錯,適合偶然出現的小錯誤,是最直接的方法。如果是接手別人遺留的無法執行的專案,那就看運氣了,因為乙個錯誤解決了,還有另乙個錯誤等著你。可以看一下我對...

Unity iOS鍵盤無法輸入Emoji

在textmeshpro出現之前,unity是不支援emoji的,所以匯出的包是把emoji過濾掉的,在匯出工程的keyboard.mm中。但是emoji卻是大多遊戲的剛需,所以很多遊戲自己實現了文字元件支援emoji。但這還不夠,要把unity在原生層對emoji的過濾去掉。ifndef filt...