⊗jsrtPmFmsSV 66 of 112 menu

Atributos value em select no React

Suponha que agora nossas tags option tenham atributos value:

function App() { return <div> <select> <option value="1">text1</option> <option value="2">text2</option> <option value="3">text3</option> </select> </div>; }

Nesse caso, devido à presença dos atributos value, serão os seus valores que irão para o estado, e não os textos das tags option. Podemos verificar isso, exibindo o resultado da seleção em um parágrafo:

function App() { const [value, setValue] = useState(''); return <div> <select value={value} onChange={(event) => setValue(event.target.value)}> <option value="1">text1</option> <option value="2">text2</option> <option value="3">text3</option> </select> <p> sua escolha: {value} </p> </div>; }

Separar o texto do option e seu valor pode ser conveniente: podemos alterar o texto da tag como quisermos, enquanto em nosso script o resultado da seleção será processado pelo valor do atributo value, que permanecerá inalterado.

Veja o exemplo:

function App() { const [value, setValue] = useState(''); return <div> <select value={value} onChange={event => setValue(event.target.value)}> <option value="1">text1</option> <option value="2">text2</option> <option value="3">text3</option> </select> <p> {value === '1' && 'você escolheu a primeira opção'} {value === '2' && 'você escolheu a segunda opção'} {value === '3' && 'você escolheu a terceira opção'} </p> </div>; }

Agora, se alterarmos os textos das tags option, o funcionamento do script não será quebrado - porque ele está vinculado ao valor do atributo value.

Usando uma lista suspensa, peça ao usuário para escolher a qual faixa etária ele pertence: de 0 a 12 anos, de 13 a 17, de 18 a 25, ou acima de 25 anos.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar