[英]React Native: Keyboard dismiss when changing focus in ScrollView
在我的React Native 0.22 iOS應用程序中,我有一個帶有多個TextInput
元素的ScrollView
。
我注意到當我通過點擊下一個TextInput將焦點從一個TextInput更改為另一個TextInput時 ,鍵盤將被忽略,下一個TextInput
將不會立即聚焦。 它只關注我第二次點擊它(然后鍵盤再次回來,非常糟糕的體驗)。
此行為僅發生在ScrollView
TextInput
上,而不發生在View
。 我想知道是否有辦法解決它?
謝謝!
keyboardShouldPersistTaps={true}
已棄用
false
,棄用,使用'never'
代替
true
,不贊成使用'always'
代替
只需為您的scrollview提供keyboardShouldPersistTaps="always"
prop。
來自文檔 -
- 'never'(默認值),當鍵盤向上時,在聚焦文本輸入外部輕敲鍵盤。 發生這種情況時,孩子們不會收到水龍頭。
- 'always',鍵盤不會自動消失,滾動視圖不會捕捉到點擊,但滾動視圖的子節點可以捕捉到點擊。
- '處理',當孩子處理水龍頭(或由祖先捕獲)時,鍵盤不會自動解除。 false,棄用,使用'never'代替true,棄用,使用'always'代替
文檔: https : //facebook.github.io/react-native/docs/scrollview#keyboardshouldpersisttaps
只需將以下內容添加到您的滾動視圖:
keyboardShouldPersistTaps='handled'
如果沒有聚焦可編輯控件,這會使scrollview隱藏鍵盤。
RN 40+
keyboardShouldPersistTaps :
確定點擊后鍵盤何時應保持可見。
keyboardDismissMode
確定鍵盤是否因響應拖動而被解除
<ScrollView keyboardShouldPersistTaps={true} keyboardDismissMode="on-drag">
<TextInput>
</ScrollView>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.