A value attribútumok a select elemben Reactben
Tegyük fel, hogy most a option tag-ekben
van value attribútum:
function App() {
return <div>
<select>
<option value="1">text1</option>
<option value="2">text2</option>
<option value="3">text3</option>
</select>
</div>;
}
Ebben az esetben a value attribútumok
léte miatt az állapotba pontosan ezek az értékeik
kerülnek be, nem pedig a option tag-ek szövege.
Ebben meggyőződhetünk, ha a kiválasztás eredményét
egy bekezdésben jelenítjük meg:
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>
az ön választása: {value}
</p>
</div>;
}
Az option szövegének és értékének szétválasztása
kényelmes lehet: a tag szövegét tetszés szerint
módosíthatjuk, miközben a szkriptünkben
a választás eredménye a value attribútum
értéke alapján kerül feldolgozásra, amely változatlan
marad.
Nézd meg a példát:
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' && 'az első pontot választotta'}
{value === '2' && 'a második pontot választotta'}
{value === '3' && 'a harmadik pontot választotta'}
</p>
</div>;
}
Most, ha megváltoztatjuk a option tag-ek
szövegét, a szkript működése nem fog megbomlani -
hiszen a value attribútum értékéhez
kötődik.
Egy legördülő lista segítségével kínálja fel a felhasználónak,
hogy válassza ki, melyik korosztályba tartozik:
0-tól 12 évesig, 13-tól
17 évesig, 18-tól 25
évesig, vagy 25 évesnél idősebb.