Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何使用离子模式内的反应钩形式?_Reactjs_Typescript_Ionic Framework_React Hook Form - Fatal编程技术网

Reactjs 如何使用离子模式内的反应钩形式?

Reactjs 如何使用离子模式内的反应钩形式?,reactjs,typescript,ionic-framework,react-hook-form,Reactjs,Typescript,Ionic Framework,React Hook Form,我试图在我的离子反应应用程序中使用反应钩子形式。我使用这个简单的表单: const Form: React.FC<{ color: string }> = ({ color }) => { const { handleSubmit, register } = useForm(); const onSubmit = (data: any) => { console.log(`%c${JSON.stringify(data)}`, `color: ${col

我试图在我的离子反应应用程序中使用反应钩子形式。我使用这个简单的表单:

const Form: React.FC<{ color: string }> = ({ color }) => {
  const { handleSubmit, register } = useForm();

  const onSubmit = (data: any) => {
    console.log(`%c${JSON.stringify(data)}`, `color: ${color}`);
  };

  return (
    <form onSubmit={handleSubmit(onSubmit)}>
      <input ref={register} name="name" type="text" />
      <input ref={register} name="surname" type="text" />
      <input type="submit" />
    </form>
  );
};
如果我提交第一个表单,数据将正确打印在控制台中,但如果我在IonModal组件中提交第二个表单,则数据不会正确打印。
显示此行为的示例。

请参阅此处的工作示例

我能够从react hook表单中使用它

{ 返回所选的.detail.value; }} />
这里有完整的博客帖子

参见这里的工作示例

我能够从react hook表单中使用它

{ 返回所选的.detail.value; }} />
这里有完整的博客帖子

我在这里遇到了一些类似的情况,我通过使用OnOnChange调用onChange的值呈现OnInput来解决它,我们需要:

<Controller
                    render={({ onChange, value }) => (
                      <IonInput
                        value={value}
                        type="tel"
                        placeholder="AA"
                        onIonChange={(e: CustomEvent<InputChangeEventDetail>) =>
                          onChange(
                            String(e.detail.value!).length < 2
                              ? `0${e.detail.value!}`
                              : e.detail.value!
                          )
                        }
                      />
                    )}
                    rules={{
                      required: true,
                    }}
                    name="expiryMonth"
                    control={control}
                  />

我们没有改变控制器组件中的值,而是得到改变后的值,并在OnOnChange函数中进行处理,然后将结果值传递给Controllercomponent的更改方法。

我在这里遇到了一些类似的情况,我通过使用OnOnChange调用onChange来呈现IonInput,并使用我们需要的值来解决这个问题:

<Controller
                    render={({ onChange, value }) => (
                      <IonInput
                        value={value}
                        type="tel"
                        placeholder="AA"
                        onIonChange={(e: CustomEvent<InputChangeEventDetail>) =>
                          onChange(
                            String(e.detail.value!).length < 2
                              ? `0${e.detail.value!}`
                              : e.detail.value!
                          )
                        }
                      />
                    )}
                    rules={{
                      required: true,
                    }}
                    name="expiryMonth"
                    control={control}
                  />

我们没有改变控制器组件中的值,而是得到改变后的值,并在onIonChange函数中进行处理,并将结果值传递给Controllercomponent的更改方法。

当使用从v6.0+开始的react-hook表单与版本5.7.2或以下更新的示例一起使用时,这将不起作用-感谢快速发布。当使用从v6.0+开始的react-hook表单与版本5.7.2或以下更新的示例一起使用时,这将不起作用-谢谢快贴。