[英]Default value doesn't work with react-select and Formik
I have written code with react-select and Formik.我已经用 react-select 和 Formik 编写了代码。 I used
useField()
for select component, but when I tried to change the default value, I got empty selected value.我将
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}
/>
)
}
then this is my implementation for that component那么这是我对该组件的实现
<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,
}
})}
/>
assume that values.category is some value from categories data.假设 values.category 是来自类别数据的某个值。
change value of that select to field.defaultValue
将该选择的值更改为
field.defaultValue
const SelectField = ({ name, ...selectProps }) => {
const [field, meta, helpers] = useField(name)
return (
<Select
value={field.defaultValue}
onChange={(v) => helpers.setValue(v)}
onBlur={() => helpers.setTouched(true)}
{...selectProps}
/>
)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.