繁体   English   中英

无法将 react-form-hook 绑定到自定义组件

[英]Unable to bind a react-form-hook to custom component

我正在尝试将 react-form-hook 绑定到自定义控件(reactprime),但是当我绑定控件时,它表明:

Type 'Control<ConfigureData, any>' is not assignable to type 'Control<FieldValues, any>'.
  The types of '_options.resolver' are incompatible between these types.
    Type 'Resolver<ConfigureData, any> | undefined' is not assignable to type 'Resolver<FieldValues, any> | undefined'.
      Type 'Resolver<ConfigureData, any>' is not assignable to type 'Resolver<FieldValues, any>'.ts(2322)

ConfigureData 是我的表单类型。

这是我声明它的方式:

type ConfigureData = {
  title: string;
  description: string;
  startHour: number;
  endHour: number;
  isWorkingMonday: boolean;
  isWorkingTuesday: boolean;
  isWorkingWednesday: boolean;
  isWorkingThursday: boolean;
  isWorkingFriday: boolean;
  isWorkingSaturday: boolean;
  isWorkingSunday: boolean;
};
const schema = yup
  .object({
    title: yup.string().required(),
    description: yup.string().required(),
  })
  .required();

  const {
    control,
    register,
    handleSubmit,
    reset,
    formState: { errors },
  } = useForm<ConfigureData>({ resolver: yupResolver(schema), defaultValues: { isWorkingMonday: true } });

这就是我尝试使用它的方式:

 <Controller control={control} render={({ field, fieldState }) => <InputSwitch></InputSwitch>} />

但它不允许我将控制权分配给 control 道具。 不知道我错过了什么,我没有找到 controller 的用法示例,类型为 model?

如果我删除所有泛型类型,它似乎可以工作,但我想继续使用它们。

你可以试试

从 'react-hook-form' 导入 { FieldValues };

const { control, register, handleSubmit, reset, formState: { errors }, } = useForm({ resolver: yupResolver(schema), defaultValues: { isWorkingMonday: true } }) as FieldValues;

作为

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM