Atributet value në select në React

Le të themi tani që në taget option keni atributet value:

jsxfunction App() {
  return <div>
    <select>
      <option value="1">text1</option>
      <option value="2">text2</option>
      <option value="3">text3</option>
    </select>
  </div>;
}

Në këtë rast, për shkak të pranisë së atributeve value, në state do të vendosen vlerat e tyre, dhe jo tekstet e tag-eve option. Mund ta verifikoni këtë duke shfaqur rezultatin e përzgjedhjes në një paragraf:

jsxfunction 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>
      zgjedhja juaj: {value}
    </p>
  </div>;
}

Ndarja e tekstit të option dhe vlerës së tij mund të jetë e përshtatshme: tekstin e tag-ut mund ta ndryshojmë sikur të duam, ndërkohë që në skriptin tonë rezultati i përzgjedhjes do të përpunohet sipas vlerës së atributit value, e cila do të mbetet e pandryshuar.

Shikoni shembullin:

jsxfunction 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' && 'keni zgjedhur artikullin e parë'}
      {value === '2' && 'keni zgjedhur artikullin e dytë'}
      {value === '3' && 'keni zgjedhur artikullin e tretë'}
    </p>
  </div>;
}

Tani, nëse ndryshojmë tekstet e tag-eve option, funksionimi i skriptit nuk do të prishet - sepse ai është i lidhur me vlerën e atributit value.

Задание 1

Përmes një liste rënëse, ofroni përdoruesit të zgjedhë në cilën grup moshe ai bën pjesë: nga 0 deri në 12 vjeç, nga 13 deri në 17, nga 18 deri në 25, ose më i vjetër se 25 vjeç.