Реакттеги селекттин value атрибуттары
Эми биздин option тегдерибизде
value атрибуттары бар дейли:
function App() {
return <div>
<select>
<option value="1">text1</option>
<option value="2">text2</option>
<option value="3">text3</option>
</select>
</div>;
}
Мындай учурда, value атрибуттарынын бар болушунан улам,
стейтке так алардын маанилери кирип,
option тегдеринин тексттери эмес.
Муну тандоонун натыйжасын абзацка чыгарып көрүү менен ынана аласыз:
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}
</p>
</div>;
}
option текстин жана анын маанисин бөлүү
ыңгайлуу болушу мүмкүн: тегдин текстин биз каалагандай өзгөртө алабыз,
ал эми биздин скриптте
тандоонун натыйжасы value атрибутунун
мааниси боюнча иштетилет, ал өзгөрбөй калат.
Мисалды караңыз:
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' && 'сиз биринчи пунктту тандадыңыз'}
{value === '2' && 'сиз экинчи пунктту тандадыңыз'}
{value === '3' && 'сиз үчүнчү пунктту тандадыңыз'}
</p>
</div>;
}
Эми, эгерде биз option тегдеринин тексттерин өзгөртсөк,
скрипттин иши бузулбайт - анткени ал
value атрибутунун маанисине байланыштуу.
Төмөндө түшүүчү тизме менен колдонуучуга
кайсы жаш топко кирериңизди сураңыз:
0дон 12 жашка чейин, 13төн
17ке чейин, 18ден 25ке чейин,
же андан жогору 25 жаш.