我有一个包含react-select
字段的formik表单,所以我的问题是我还有另一个字段和按钮会影响react-select
组件的默认值,因此我尝试使用setFieldValue函数表单formik
,但这确实会更改表单值,但不会显示选择中的选项
here de codeSandbox我做了一个简单的示例,说明我正在尝试做的事情
对此有任何想法
答案 0 :(得分:1)
据我了解,
单击Add option
按钮后,应在选项列表中添加一个新选项,该选项也将标记为已选中。
为此,我做了以下更改
- 将选项列表创建为
useState
钩子,以便我们可以相应地更改列表
const [options, setOptions] = useState([
{ value: "options 1", label: "option 1" },
{ value: "options 2", label: "option 2" }
]);
并在setOptions
函数中调用handleAddOption
。
const handleAddOption = () => {
setOptions([...options, { label: "test option", value: "test option" }]);
return setFieldValue("name", "test option");
};
- 我在
value
字段中更改了Select
道具。以便可以将正确的值传递给该函数。因为您正在name
函数中传递setFieldValue
。
value={defaultValue(options, values.name)}