ReactJS Formik隐藏字段向服务器发送空值

时间:2018-12-20 12:47:28

标签: reactjs formik

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

<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:''
}} >

有什么丢失的东西吗?

2 个答案:

答案 0 :(得分:0)

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

我想知道是否有人知道解决此问题的正确方法?我的方式似乎有点怪异?

答案 1 :(得分:0)

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

在年龄之前将setFieldValue作为参数传递

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

然后我设法将其更改为onClick方法(可以根据需要使用)

<button type="submit" className="btn btn-primary btn-block btn-flat" 
onClick={() => {setFieldValue("hiddenField", "yourValueHere OR dynamicVariable"); }} 
disabled={isSubmitting}>Register</button>