Reactjs 如何将所选值从React Select转发到React钩子窗体
我正在使用react钩子表单,并尝试按照以下指南从自定义react选择组件获取所选值: 问题是没有向表单传递任何值 我正在做以下工作:Reactjs 如何将所选值从React Select转发到React钩子窗体,reactjs,react-hook-form,Reactjs,React Hook Form,我正在使用react钩子表单,并尝试按照以下指南从自定义react选择组件获取所选值: 问题是没有向表单传递任何值 我正在做以下工作: interface Option { label: string; value: string; } interface Props { name: string; options: Option[]; error?: string; label?: string; placeholder?: string; disabled?
interface Option {
label: string;
value: string;
}
interface Props {
name: string;
options: Option[];
error?: string;
label?: string;
placeholder?: string;
disabled?: boolean;
clearable?: boolean;
}
const MySelect = React.forwardRef<ReactSelect, Props>(
(
{ name, error, options, label, placeholder, disabled, clearable, ...rest },
ref
) => (
<>
{label && <label htmlFor={name}>{label}</label>}
<ReactSelect
id={name}
name={name}
ref={ref}
options={options}
placeholder={placeholder || ""}
isDisabled={disabled}
isClearable={clearable}
{...rest}
/>
{error && <span>{error}</span>}
</>
)
);
export default MySelect;
接口选项{
标签:字符串;
值:字符串;
}
界面道具{
名称:字符串;
选择:选择[];
错误?:字符串;
标签?:字符串;
占位符?:字符串;
禁用?:布尔值;
可清除?:布尔值;
}
const MySelect=React.forwardRef(
(
{名称、错误、选项、标签、占位符、已禁用、可清除、…rest},
裁判
) => (
{label&&{label}
{error&&{error}
)
);
导出默认MySelect;
完整的代码。
有人能帮我吗?你考虑过使用
控制器吗
实际上,我们在文档上也有一个工作版本:
嘿,很抱歉耽搁了这么久。正如您所说,我稍微更改了应用程序组件,并添加了选择字段作为控制器,所以我能够解决这个问题。非常感谢你!!
<Controller
as={ReactSelect}
options={[
{ value: "chocolate", label: "Chocolate" },
{ value: "strawberry", label: "Strawberry" },
{ value: "vanilla", label: "Vanilla" }
]}
name="ReactSelect"
isClearable
control={control}
/>