gpt4 book ai didi

javascript - 如何使用 formik react js 在 handlesubmit 函数中接收选择值?

转载 作者:太空宇宙 更新时间:2023-11-04 14:26:34 24 4
gpt4 key购买 nike

我正在使用 formik 插件在 reactjs 中开发一个表单 plugin link .当我提交表单时,我得到的是文本字段值,但下拉值是空的...

这是我的下拉选择

<div className="form-group">                  
<Field component="select" id="category" name="category" value={this.state.value} className={"form-control"} onChange={ this.handleChange }>
<option value="lokaler">Lokaler</option>
<option value="jobb">Jobb</option>
<option value="saker-ting">Saker & ting</option>
<option value="evenemang">Evenemang</option>
</Field>
</div>

处理提交函数

export default withFormik({
enableReinitialize: true,
mapPropsToValues({ category }) {
return {
category: category || ''
}
},
handleSubmit(values, { setStatus, setErrors }){
console.log("data is this: ");
console.log(values); //here i am getting all form fields values except select value returning empty value
console.log("category: "+values.category);// here i always get empty value but not getting selected value

}

我在句柄提交函数中获取所有文本字段值,但我无法获取下拉选择值....请告诉我如何在句柄提交函数中获取下拉选择值?

最佳答案

我昨天也遇到了这个问题。我的问题是提交包含 ant design 下拉列表的表单。经过几个小时后,我终于让它工作了:

文档说你需要分别设置onChange, onBlur 事件到setFieldValue, setFieldTouched props 就像3rd -方输入示例:

<MySelect
value={values.topics}
onChange={setFieldValue}
onBlur={setFieldTouched}
error={errors.topics}
touched={touched.topics}
/>

所以对于我的问题,我需要稍微改变一下:

<Select
{...field}
onChange={(value) => setFieldValue('fruitName', value)}
onBlur={()=> setFieldTouched('fruitName', true)}
value={values.fruitName}
...
>
...
</Select>

希望这会有所帮助。

这是我的 CodeSandbox

关于javascript - 如何使用 formik react js 在 handlesubmit 函数中接收选择值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50343914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com