Atribut value dalam Pemilih dalam React
Sekarang katakan kita mempunyai atribut value
dalam tag option:
function App() {
return <div>
<select>
<option value="1">text1</option>
<option value="2">text2</option>
<option value="3">text3</option>
</select>
</div>;
}
Dalam kes ini, disebabkan kehadiran atribut value,
nilai merekalah yang akan masuk ke state,
bukan teks tag option. Kita boleh mengesahkannya
dengan memaparkan hasil pilihan dalam perenggan:
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>
pilihan anda: {value}
</p>
</div>;
}
Memisahkan teks option dan nilainya
boleh menjadi mudah: kita boleh menukar teks tag
seperti yang kita mahu, sementara dalam skrip kita
hasil pilihan akan diproses mengikut
nilai atribut value, yang akan kekal
tidak berubah.
Lihat contoh:
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' && 'anda memilih item pertama'}
{value === '2' && 'anda memilih item kedua'}
{value === '3' && 'anda memilih item ketiga'}
</p>
</div>;
}
Sekarang, jika kita menukar teks tag option,
kerja skrip tidak akan terganggu - kerana ia
terikat pada nilai atribut value.
Dengan menggunakan senarai juntai bawah, cadangkan kepada pengguna
untuk memilih kumpulan umur mana yang dia tergolong:
umur 0 hingga 12 tahun, 13
hingga 17 tahun, 18 hingga 25 tahun,
atau lebih daripada 25 tahun.