gpt4 book ai didi

reactjs - Formik Chakra-ui 选择不使用值

转载 作者:行者123 更新时间:2023-12-03 08:27:01 27 4
gpt4 key购买 nike

我正在尝试提交带有下拉列表的表单。问题是 formik 无法识别选项中的值,不知道为什么或如何修复它。

const [value, setValue] = React.useState("");
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
setValue(event.target.value);
};
<Formik
initialValues={{ ingredientId:"", }}
onSubmit={async (values, { setErrors }) => {
console.log(values);
}}
>
{({ isSubmitting }) => (
<FormControl name="ingredientId" id="ingredientId">
<FormLabel>Ingredient</FormLabel>
<Select
name="ingredientId"
id="ingredientId"
onChange={handleChange}
value={value}
>
{ingredients!.map((ingredient: any) => {
return <option value={ingredient.id} id="ingredientId">
{ingredient.name}
</option>;
})}
</Select>
</FormControl>
...
)}
</Formik>

虽然提交后,fragmentId 仍然为 null,但是有什么想法吗?

最佳答案

这很有趣,但即使过了 20 多年,当我匆忙时,这个仍然会让我绊倒。简而言之,所选选项不会存储为 select 元素的 value

要获取选定的值,您需要执行以下操作:

const { target } = event;

// note: 'select-multiple' for multi select
if (target.type === 'select-one') {
const selectValue = target.selectedOptions[0].value;
}

https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/selectedOptions

关于reactjs - Formik Chakra-ui 选择不使用值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66374690/

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