Comment obtenir la valeur sélectionnée d'un menu déroulant dans ReactJS
Je suis l'aide de réagir et je veux obtenir la valeur de l'option sélectionnée dans une liste déroulante à réagir, mais je ne sais pas comment. Toutes les suggestions? merci!
Ma liste déroulante est juste un select comme:
<select id = "dropdown">
<option value="N/A">N/A</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
alert(dropdown.value)
- note: je veux utiliser pour sélectionner et passer une valeur dans une méthode.
<select onchange=method(value)>
, ou de l'utilisation la plus complexe off-side lier, ou partir en JS,method(drowdown.value)
- Veuillez vous référer à ce lien skptricks.com/2018/05/create-dropdown-using-reactjs.html
InformationsquelleAutor BlueElixir | 2015-03-17
Vous devez vous connecter pour publier un commentaire.
Le code dans le
render
méthode représente le composant à un moment donné.Si vous ne quelque chose comme ceci, l'utilisateur ne sera pas en mesure de faire des sélections à l'aide du formulaire de contrôle:
Il y a donc deux solutions pour travailler avec les contrôles de formulaires:
state
afin de refléter les sélections de l'utilisateur. Cette offre le plus de contrôle, puisque toutes les modifications que vous apportez àstate
sera reflété dans le composant de rendu:exemple:
JSFiddle: http://jsfiddle.net/xe5ypghv/
Incontrôlée des Composants L'autre option est de ne pas contrôler la valeur et de simplement répondre à
onChange
événements. Dans ce cas, vous pouvez utiliser ledefaultValue
prop pour définir une valeur initiale.http://jsfiddle.net/kb3gN/10396/
Les docs pour ce sont grands: http://facebook.github.io/react/docs/forms.html
et aussi de montrer comment travailler avec les sélections multiples.
Mise à JOUR
Une variante de l'Option 1 (contrôlé à l'aide d'un composant) est d'utiliser Redux et Réagir-Redux pour créer un composant conteneur. Cela implique
connect
et unmapStateToProps
fonction, ce qui est plus facile que cela puisse paraître, mais probablement exagéré si vous êtes juste de commencer.value={this.state.selectValue}
efficacement définit la valeur par défaut de l'entrée. Ce n'était pas clair avant, parce que "Orange" aurait été la valeur par défaut de toute façon puisque c'est la première option. J'ai mis à jour le code de "Radis" comme valeur initiale dethis.state.selectValue
. Si vous commentez la ligne que vous avez mentionné, c'est le résultat: jsfiddle.net/f00erjqs L'INTERFACE utilisateur est hors de synchronisation.Mettre en œuvre votre Déroulant comme
Maintenant, pour obtenir la valeur de l'option sélectionnée de la liste déroulante du menu utilisation:
Suffit d'utiliser onChange cas de la
<select>
objet.La valeur sélectionnée est en
e.target.value
ensuite.Par la voie, c'est une mauvaise pratique à utiliser
id="..."
. Il est préférable d'utiliserref=">.."
http://facebook.github.io/react/docs/more-about-refs.html
Comme pour le développeur front-end de nombreuses fois que nous sommes confrontés avec les formes dans lesquelles nous avons à gérer les listes déroulantes et nous avons à
utiliser la valeur du choix du menu pour effectuer une certaine action ou l'envoi de la valeur sur le Serveur, c'est très simple
vous devez écrire le simple déroulant en HTML, il suffit de mettre la un onChange méthode pour la sélection dans la liste déroulante
chaque fois que l'utilisateur de modifier la valeur de la liste déroulante définir cette valeur à l'état de sorte que vous pouvez facilement y accéder en AvFeaturedPlayList
1
rappelez-vous que vous obtenez toujours le résultat comme valeur de l'option et de ne pas la liste déroulante texte qui est affiché sur l'écran