我是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:''
}} >
有什么丢失的东西吗?
答案 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>