Я пытаюсь использовать элемент формы Select из Bulma и не могу понять наиболее основные c вопросов ... как определить, когда пользователь выбрал опцию? Я хочу вызвать функцию для изменения языка веб-сайта, когда выбрана опция выбора языка, но не могу понять, как зарегистрировать событие "select".
Элемент работает очень хорошо и переключается между двумя языками, однако, что мне нужно сделать, чтобы определить, когда один из вариантов действительно выбран?
<div className="navbar-item">
<div className="select">
<select>
<option>English</option>
<option>Chinese</option>
</select>
</div>
</div>
Я пытался использовать события onChange
и onClick
, но ни одно из них не работает, например:
<div className="navbar-item">
<div className="select">
<select>
<option onChange={() => changeLanguage('en')}>English</option>
<option onChange={() => changeLanguage('cn')}>Chinese</option>
</select>
</div>
</div>
Нужно ли создавать отдельные переменные состояния React для этим и управлять выбором сам?
ОТВЕТ
Мне удалось собрать воедино кусочки различных ответов, и я попытался обновить ответ, чтобы он был корректным, но также разместил здесь сообщение для благо сообщества.
Вот JSX с опциями выбора:
<div className="navbar-item">
<div className="select">
<select onChange={(e) => changeLanguage(e)}>
<option value="en" id="en">English</option>
<option value="cn" id="cn">中文</option>
</select>
</div>
</div>
и соответствующая функция смены языка:
const changeLanguage = event => {
i18n.changeLanguage(event.target.value);
};