Value-attribuute in keuses in React
Laat ons nou aanneem dat die option-tags
value-attribuute het:
function App() {
return <div>
<select>
<option value="1">text1</option>
<option value="2">text2</option>
<option value="3">text3</option>
</select>
</div>;
}
In so 'n geval, as gevolg van die teenwoordigheid van die value-attribuute,
sal die waardes daarvan in die staat beland,
en nie die teks van die option-tags nie. Ons kan dit verifieer
deur die keuse resultaat in 'n paragraaf te vertoon:
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>
u keuse: {value}
</p>
</div>;
}
Om die teks van die option en sy waarde te skei
kan gerieflik wees: ons kan die teks van die tag verander
soos ons wil, terwyl in ons skrip
die keuse resultaat hanteer sal word volgens
die waarde van die value-attribuut, wat onveranderd sal bly.
Kyk na die voorbeeld:
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' && 'u het die eerste item gekies'}
{value === '2' && 'u het die tweede item gekies'}
{value === '3' && 'u het die derde item gekies'}
</p>
</div>;
}
Nou, as ons die tekste van die option-tags verander,
sal die skrip se werking nie onderbreek word nie - want dit is
gekoppel aan die waarde van die value-attribuut.
Bied met behulp van 'n keuselys vir die gebruiker aan om
te kies tot watter ouderdomsgroep hy/sy behoort:
van 0 tot 12 jaar, van 13
tot 17, van 18 tot 25,
of ouer as 25 jaar.