#javascript #reactjs #react-hooks #react-select #react-hook-form
#javascript #reactjs #реагирующие хуки #реагировать-выбрать #react-hook-форма
Вопрос:
Я использую react-select для лучшего просмотра пользовательского интерфейса, и я его реализовал, теперь я пытаюсь сделать
- Я хочу проверить это поле ввода, когда пользователь нажимает на кнопку Готово (форма отправки)
- Я использую react-hook-form для проверки
- Они предоставляют
ref={register}
, который содержит значение поля ввода - итак, для обычного поля ввода или выбора я могу использовать это, как показано ниже
<label htmlFor="fname">
First Name
</label>
<input
type="text"
name="fname"
id="fnameid"
className="form-control"
ref={register({
required: 'First name is required',
})}
/>
{errors.fname amp;amp; (
<div>
<span className="text-danger">
{errors.fname.message}
</span>
</div>
)}
Теперь вышеописанное работает нормально, но в случае react-select
, если я не знаю, как двигаться дальше
<Select
value={initailSelect}
onChange={(e) => onChangeAge(e)}
options={data}
/>
Итак, здесь, когда я нажимаю на кнопку отправки, выполняется проверка только для fname и вывод на консоль только для fname
Я попытался сделать, как показано ниже
<Select
value={initailSelect}
onChange={(e) => onChangeAge(e)}
options={data}
ref={register({
required: 'age is required is required',
})}
/>
Песочница кода Вот моя песочница кода Мой рабочий код, пожалуйста, проверьте
Редактировать
Я пробовал этот подход, но он не принимает defaultValue
или Value
, поскольку я хочу показать одно выбранное значение, и в некоторых случаях я получаю значения с сервера, которые я хочу показать как выбранные.
Комментарии:
1. проверьте контроллер в форме react hook react-hook-form.com/get-started#IntegratingwithUIlibraries
2. вы можете использовать блок кода для раздела кода, чтобы сделать ваш вопрос хорошим
3. @SreevardhanReddy Я уже проверил и реализовал это, но проблема в том, что он не принимает значение по умолчанию.
Ответ №1:
Вот ссылка для codesandbox, вы можете либо обернуть компонент в контроллер, либо использовать setValue для ручной установки значений и проверки
https://codesandbox.io/s/bitter-wave-w1cpi?file=/src/App.js:2084-2802
ссылка https://react-hook-form.com/get-started#IntegratingwithUIlibraries
Комментарии:
1. эй, здесь он не принимает значение по умолчанию или значение, поскольку я хочу показать первое как выбранное
2. Я пробовал с установленными значениями, там не отображаются значения при отправке
3. @manishthakur Установленное значение не работает, потому что оно запускается до регистрации вашего поля. Попробуйте использовать
setTimeout