如何解决默认值不适用于react-select和Formik
我已经用react-select和Formik编写了代码。我将useField()
用于选择组件,但是当我尝试更改默认值时,我得到了空的选择值。
const SelectField = ({ name,...selectProps }) => {
const [field,meta,helpers] = useField(name)
return (
<Select
value={field.value}
onChange={(v) => helpers.setValue(v)}
onBlur={() => helpers.setTouched(true)}
{...selectProps}
/>
)
}
然后这是我对该组件的实现
<SelectField
name="category"
defaultValue={values.category.map((c) => {
console.log(c)
return {
value: c,label: c,}
})}
closeMenuOnSelect={false}
components={animatedComponents}
isMulti
options={categories.map((c) => {
return {
value: c.name,label: c.name,}
})}
/>
假定values.category是类别数据中的某个值。
解决方法
将该选择项的值更改为4
field.defaultValue
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。