2017-03-13 1 views
0

sur mon projet RN, j'essaie de remplir mon Picker en mappant depuis l'état, qui est un tableau. J'ai consolé l'objet lors de la cartographie et il semble qu'il n'y ait pas de problème, il montre l'objet qui est en train d'être mappé. Qu'est ce que je fais mal? Pouvez-vous m'aider s'il vous plaît?reac-native remplit le sélecteur en mappant

<Item> 
         <Picker 
           iosHeader="Select one" 
           mode="dropdown" 
           onValueChange={this.onBranchChange.bind(this)}> 
           {this.state.branchAddresses.map((address,i) => 
            { 
             console.log("myAddresses: ",address); 
             return <Item style={{fontFamily: 'SourceSansPro-Regular'}} label={address.id} value={address.id} key={i}/>} 
           )} 
          </Picker> 
         </Item> 

Et voici l'aperçu de console.log() .Il écrit les objets sans aucun problème. enter image description here

enter image description here

Voici l'avertissement que je reçois. enter image description here enter image description here

+0

pourquoi votre 'Picker' enveloppé dans un' Item'? –

+0

Je l'ai enveloppé avec Item afin de tracer la ligne entre le Picker et le composant ci-dessous. Mais, après votre commentaire, je l'ai essayé sans Item. encore une fois il ne montre rien, juste un avertissement sur une page blanche et vide. - J'ai ajouté un instantané d'avertissement à la question, aussi. –

+0

Je pense que vous importez 'Item' à partir de reac-native. Vous devriez maintenant utiliser l'une des deux méthodes décrites dans ma réponse. –

Répondre

1

Vous devez utiliser le Item du composant Picker pour obtenir ce travail.

Il y a deux façons de le faire.

const PickerItem = Picker.Item;

et que l'utilisation de ce composant <PickerItem> plus tard.

ou que vous utilisez le composant directement

<Picker.Item style={{fontFamily: 'SourceSansPro-Regular'}} label={address.id} value={address.id} key={i}/>

+0

non, c'est le composant 'Item' de 'react-native'. Je l'ai mis là pour tracer la ligne entre Picker et le composant suivant/ci-dessous. –

+0

Vous devriez utiliser le 'Item' de' Picker' pour rendre les options. Vous pouvez également le faire comme ceci: return '' –