React-da saýlawda value atributlary
Indi option teglerinde
value atributlary bolsun:
function App() {
return <div>
<select>
<option value="1">tekst1</option>
<option value="2">tekst2</option>
<option value="3">tekst3</option>
</select>
</div>;
}
Şeýle ýagdaýda value atributlarynyň bolmagy sebäpli,
state-de ýerleşjek bolan dogry, option tegleriň däl-de,
value atributlarynyň bahalary bolar. Muny saýlamanyň
netijesini abzasa çykaryp, anyklap bolýar:
function App() {
const [value, setValue] = useState('');
return <div>
<select value={value} onChange={(event) => setValue(event.target.value)}>
<option value="1">tekst1</option>
<option value="2">tekst2</option>
<option value="3">tekst3</option>
</select>
<p>
siziň saýlanyşyňyz: {value}
</p>
</div>;
}
option teginiň tekstini we onuň bahasyny
ayyrmak amatly bolar: teginiň tekstini islendik ýaly
üýtgedip bileris, şol bir wagtyň özünde skriptimizde
saýlamanyň netijesi value atributynyň bahasyna
görä işlenip, ol üýtgewsiz galar.
Mysala serediň:
function App() {
const [value, setValue] = useState('');
return <div>
<select value={value} onChange={event => setValue(event.target.value)}>
<option value="1">tekst1</option>
<option value="2">tekst2</option>
<option value="3">tekst3</option>
</select>
<p>
{value === '1' && 'siz birinji puntky saýladyňyz'}
{value === '2' && 'siz ikinji puntky saýladyňyz'}
{value === '3' && 'siz üçünji puntky saýladyňyz'}
</p>
</div>;
}
Indi, eger biz option tegleriniň tekstini üýtgetsek,
skriptiň işi bozulmaz - sebäbi ol value atributynyň
bahasyna bagly.
Aşak düşýän sanaw ýardamy bilen ulanyjyja, haýsy ýaş
toparyna degişlidigini saýlamagy teklip ediň:
0-dan 12 ýaşa çenli, 13-den
17-e çenli, 18-den 25-e çenli,
ýa-da 25 ýaşdan uly.