reactjs 如何在React useForm中添加默认静态值以及动态值?TS类型错误

busg9geu  于 12个月前  发布在  React
关注(0)|答案(1)|浏览(85)

我有这个useForm:

const {
    register,
    handleSubmit,
    formState: { errors, isSubmitting },
    reset,
    getValues,
  } = useForm({
    defaultValues: {
      celebUid, //props
      fanUid, // props
      price, // props
    },
  });

字符串
现在,当我尝试通过输入动态地添加一个值时,我会得到这样的类型错误:

{...register("requestAction", {
                required: "choose a request event",
              })}

//Argument of type '"requestAction"' is not assignable to parameter of type '"celebUid" | "fanUid" | "price"'.ts(2345)


我知道我可以通过简单地将requestAction添加到我的defaultValues中并使用空字符串来消 debugging 误,但这感觉不合适,而且我不想对所有值都这样做,因为它是一个相当大的表单。
当我没有默认值的时候,这很好,我不会得到类型错误。

yptwkmov

yptwkmov1#

你能试试这样吗,

type FormData = {
  staticValue: string;
  dynamicValue: string;
};

 // Define default static values
  const defaultValues: FormData = {
    staticValue: 'Default Static Value',
    dynamicValue: '',
  };

  // Create the form instance
  const {
    register,
    handleSubmit,
    setValue, // Use setValue for dynamic values
    control,
  } = useForm<FormData>({
    defaultValues,
  });

字符串

相关问题