React-də Select-də value atributları
İndi tutaq ki, option teqlərində
value atributları var:
function App() {
return <div>
<select>
<option value="1">text1</option>
<option value="2">text2</option>
<option value="3">text3</option>
</select>
</div>;
}
Belə bir halda, value atributlarının olması səbəbindən
state-ə dəqiq onların dəyərləri düşəcək,
option teqlərinin mətnləri yox. Buna
seçim nəticəsini abzasda çap etməklə inana bilərik:
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>
seçiminiz: {value}
</p>
</div>;
}
option mətnini və onun dəyərini ayırmaq
rahat ola bilər: teqin mətnini istədiyimiz kimi dəyişə bilərik,
eyni zamanda bizim skriptimizdə
seçim nəticəsi value atributunun dəyərinə görə
emal olunacaq, hansı ki, dəyişməz qalacaq.
Nümunəyə baxın:
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' && 'siz birinci bəndi seçdiniz'}
{value === '2' && 'siz ikinci bəndi seçdiniz'}
{value === '3' && 'siz üçüncü bəndi seçdiniz'}
</p>
</div>;
}
İndi, əgər biz option teqlərinin mətnlərini dəyişsək,
skriptin işi pozulmayacaq - çünki o
value atributunun dəyərinə bağlıdır.
Açılan siyahıdan istifadə edərək istifadəçidən
hansı yaş qrupuna aid olduğunu seçməsini təklif edin:
0-dan 12 yaşadək, 13-dan
17-yə qədər, 18-dan 25-yə qədər,
ya da 25 yaşdan yuxarı.