18

我是 React 的新手,我正在使用 FormIK,它可以很好地发布表单数据,除非我在其中添加隐藏字段。

<Field type="hidden" className="form-control" name="hiddenField" /> 

当我发布表单时,它会发送隐藏字段的 Null 值我还向 Formik 提供了初始值

<Formik initialValues={{
first_name:'',last_name:'',username:'',email:'',password:'',
password_confirmation:'',distributor:'',phone_number:'',address:'',country:'',
state:'',city:'',zip_code:'',hiddenField:''
}} >

有什么遗漏吗?

4

2 回答 2

16

我刚刚也遇到过这个问题。我的解决方法是只添加一个初始值,甚至不使用隐藏字段。结果是,在 中onSubmit()values对象包含我的隐藏字段键和initialValues值。

我想知道是否有人知道这样做的正确方法?我的方式似乎有点hacky?

于 2019-01-10T03:42:02.900 回答
11

这是我在 Formik 中管理隐藏字段值的方法

在标签之前通过setFieldValueas 参数

{({ values, errors, touched, handleSubmit, setFieldValue , isSubmitting }) => (
<Form>
<div className="form-group has-feedback">
<input type="hidden" value="testing" name="hiddenField" />

然后我设法改变了它的onClick方法(可以根据需要使用)

<button type="submit" className="btn btn-primary btn-block btn-flat" 
onClick={() => {setFieldValue("hiddenField", "yourValueHere OR dynamicVariable"); }} 
disabled={isSubmitting}>Register</button>
于 2019-01-22T07:12:00.240 回答