Value ատրիբուտները React-ի սելեկտում
Ենթադրենք, որ այժմ option թեգերում
կան value ատրիբուտներ.
function App() {
return <div>
<select>
<option value="1">text1</option>
<option value="2">text2</option>
<option value="3">text3</option>
</select>
</div>;
}
Այդպիսի դեպքում, value ատրիբուտների առկայության պատճառով
ստեյտ կհայտնվեն հենց դրանց արժեքները,
այլ ոչ թե option թեգերի տեքստերը: Կարելի է համոզվել
դրանում՝ ընտրության արդյունքը արտածելով պարբերության մեջ.
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}
</p>
</div>;
}
option-ի տեքստն ու նրա արժեքը տարանջատելը
կարող է հարմար լինել. թեգի տեքստը մենք կարող ենք փոխել
կամայականորեն, մինչդեռ մեր սկրիպտում
ընտրության արդյունքը կմշակվի ըստ
value ատրիբուտի արժեքի, որն էլ կմնա
անփոփոխ:
Տեսեք օրինակ.
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' && 'Դուք ընտրել եք առաջին կետը'}
{value === '2' && 'Դուք ընտրել եք երկրորդ կետը'}
{value === '3' && 'Դուք ընտրել եք երրորդ կետը'}
</p>
</div>;
}
Այժմ, եթե մենք փոխենք option թեգերի տեքստերը,
սկրիպտի աշխատանքը չի խախտվի, քանի որ այն
կապված է value ատրիբուտի արժեքին:
Օգտագործելով բացվող ցուցակը, առաջարկեք օգտատիրոջը
ընտրել, թե տարիքի որ խմբին է պատկանում.
0-ից 12 տարեկան, 13-ից
17, 18-ից 25,
կամ 25 տարեկանից բարձր: