У меня проблема с рендерингом initialValues в компоненте AutoComplete из библиотеки материалов UI, используемой в поле Formik. Значения, переданные как исходные, не отображаются в компоненте, несмотря на то, что если форма отправлена, они передаются в переменной values
Я также использую библиотеку material-ui-formik-components, если этот факт имеет значение.
Код, показанный ниже, представляет проблему.
import React from "react";
import { Formik, Form, Field } from "formik";
import { object, array } from "yup";
import { Autocomplete } from "material-ui-formik-components/Autocomplete";
const skills = [
{
"label": "PostgreSQL",
"value": "PostgreSQL"
},
{
"label": "Python",
"value": "Python"
},
{
"label": "React",
"value": "React"
},
{
"label": "Redis",
"value": "Redis"
},
{
"label": "Swift",
"value": "Swift"
},
{
"label": "Webpack",
"value": "Webpack"
}
]
const validationSchema = object().shape({
skills: array().required("At least one skill is required")
});
const initialValues = {
username: "",
gender: "",
country: "",
skills: [
{
label: "PostgreSQL",
value: "PostgreSQL"
}
],
birthdate: null
};
const SimpleFormExample = () => (
<div>
<h1>Simple Form Example</h1>
<Formik
initialValues={initialValues}
validationSchema={validationSchema}
validateOnBlur={false}
validateOnChange
onSubmit={values => {
console.log(values);
}}
>
{formik => (
<Form noValidate autoComplete="off">
<Field
name="skills"
options={skills}
component={Autocomplete}
textFieldProps={{
label: "Skills",
required: true,
variant: "outlined"
}}
multiple
/>
<button type="submit">Submit</button>
</Form>
)}
</Formik>
</div>
);
export default SimpleFormExample;
Что нужно сделать, чтобы отображать начальные значения в форме?