⊗jsrtPmFmsSV 66 of 112 menu

Atrybuty value w selektorze w React

Załóżmy teraz, że w tagach option znajdują się atrybuty value:

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

W takim przypadku, z powodu obecności atrybutów value, do stanu trafią właśnie ich wartości, a nie teksty tagów option. Można się o tym przekonać, wypisując wynik wyboru do akapitu:

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> Twój wybór: {value} </p> </div>; }

Rozdzielenie tekstu option i jego wartości może być wygodne: tekst tagu możemy zmieniać dowolnie, podczas gdy w naszym skrypcie wynik wyboru będzie przetwarzany na podstawie wartości atrybutu value, który pozostanie niezmieniony.

Spójrz na przykład:

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' && 'wybrałeś pierwszą opcję'} {value === '2' && 'wybrałeś drugą opcję'} {value === '3' && 'wybrałeś trzecią opcję'} </p> </div>; }

Teraz, jeśli zmienimy teksty tagów option, działanie skryptu nie zostanie zakłócone - ponieważ jest ono powiązane z wartością atrybutu value.

Za pomocą listy rozwijanej zaproponuj użytkownikowi wybór grupy wiekowej, do której należy: od 0 do 12 lat, od 13 do 17, od 18 do 25, lub powyżej 25 lat.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć