⊗jsrtPmFmsAV 67 of 112 menu

Atributos value de select desde un array en React

Supongamos que nuevamente los elementos de la lista están almacenados en un array:

function App() { const texts = ['text1', 'text2', 'text3', 'text4']; const [value, setValue] = useState(''); ... }

Formemos etiquetas option usando este array, agregándoles como atributos value los valores de los elementos del array:

function App() { const texts = ['text1', 'text2', 'text3', 'text4']; const [value, setValue] = useState(''); const options = texts.map((text, index) => { return <option key={index} value={index}>{text}</option>; }); ... }

Usando las etiquetas formadas, creemos una lista desplegable:

return <div> <select value={value} onChange={event => setValue(event.target.value)}> {options} </select> </div>;

Mostremos en un párrafo el número del elemento seleccionado:

return <div> <select value={value} onChange={event => setValue(event.target.value)}> {options} </select> <p> su elección: {value} </p> </div>;

Y ahora mostremos el texto del elemento seleccionado, usando su número y el array con los textos:

return <div> <select value={value} onChange={event => setValue(event.target.value)}> {options} </select> <p> su elección: {texts[value]} </p> </div>;

Juntemos todo y obtendremos el siguiente código:

function App() { const texts = ['text1', 'text2', 'text3', 'text4']; const [value, setValue] = useState(''); const options = texts.map((text, index) => { return <option key={index} value={index}>{text}</option>; }); return <div> <select value={value} onChange={event => setValue(event.target.value)}> {options} </select> <p> su elección: {texts[value]} </p> </div>; }
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar