Bonjour,
je fais un formulaire en react et je n'arrive pas à afficher les options d'un champ select,
les options étant récupérées dans une table de ma BDD
il s'agit d'un composant de l'application qui retourne un formulaire.
je pense que je ne m'y prends pas comme il faut!
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 const Field = ({name, place, type, table}) => { let inputField ="" switch (type) { case "text": inputField = <input type={type} placeholder={place} id={name}/> break case "select": const options = fetchOptions(table) inputField = <select> {options.map( op => <option key={op[0]} value={op[0]}>{op[1]}</option>)} </select> break } return <div className="form-group"> <label htmlFor={name} className="me-2">{name}</label> {inputField} </div> } return <form className="mt-4"> <Field type="text" name="Nom" place="Ex: Lion"/> <Field type="select" name="Espèce" table="species"/> <Field type="select" name="Régime" table="diets"/> </form>
Les options sont un tableau de tableaux, mais je pense que la ligne {options.map( op => <option key={op[0]} value={op[0]}>{op[1]}</option>)}
n'est pas bonne, mais je ne vois pas ce qui cloche...
Pour l'instant, ça m'affiche bien mon input de type texte, mais pour les selects, j'ai le label et une sélection avec 0 option
Il y a bien les useState et useEffect, mais je ne vois pas comment m'en servir dans mon cas...
Si quelqu'un connait la bonne façon d'obtenir le formulaire que je souhaite, merci d'avance !
Laurent.
Partager