2017-08-21 17 views
0

反応ナビゲーションでは、autoFocus入力を持つフォームを持つタブを処理してキーボードを自動的にプルアップするにはどうすればよいでしょうか?React Navigation tabNavigatorを使用するときのautoFocus

ナビゲータがすべての画面を初期化すると、autoFocus要素のない画面が最初に表示されていても自動的にキーボードが表示されます。

フォームを使用してタブ上にあるときにキーボードを開き、そのビューを終了するときにキーボードを開くことができます。ここ

は、例えば(及びan associated Gist)である:

App.js

const AppNavigator = TabNavigator({ 
    listView: { screen: TheListView }, 
    formView: { screen: TheFormView } 
}) 

TheFormView.js

const TheFormView =() => { 
    return (
    <View style={{ marginTop: 50 }}> 
     <TextInput 
     autoFocus={ true } 
     keyboardType="default" 
     placeholder="Blah" 
     /> 
    </View> 
) 
} 

TheListView.js

const TheListView =() => { 
    return (
    <View style={{ marginTop: 50 }}> 
     <Text>ListView</Text> 
    </View> 
) 
} 

答えて

0

あなたはTabNavigatorコンテナの設定にlazyを使用する必要があります。https://github.com/react-community/react-navigation/blob/master/docs/api/navigators/TabNavigator.md#tabnavigatorconfig

これは、それが視聴れる前に初期化されてから、画面を防ぐことができます。

はまた、状態管理のいくつかの種類を持っ考えるかTheFormViewがナビゲートされている場合にのみ真autoFocus小道具を設定するためのカスタムナビゲーター(https://reactnavigation.org/docs/navigators/custom)を探してください。

関連する問題