[英]Default value of Autocomplete is undefined in MUI v5
我在 MUI v5 的Autocomplete
组件中设置了defaultValue
,但该值始终为undefined
。
摘自我的代码
const cars = [
{ label: "BMW", code: "Volkswagen" },
{ label: "Benz", code: "Mercedes" }
];
...
const formik = useFormik({
initialValues: {
car: ""
},
onSubmit: (values) => {}
});
...
<Autocomplete
id="autocomplete"
options={cars}
getOptionLabel={(option) => `${option.code} - ${option.label}`}
renderOption={(props, option) => (
<Box component="li" {...props}>
{option.code} - {option.label}
</Box>
)}
defaultValue={`${cars[0].code} - ${cars[0].label}`}
onChange={(e, value) => {
formik.setFieldValue("car", `${value.code} - ${value.name}`);
}}
renderInput={(params) => (
<TextField
{...params}
id="textField"
name="cars"
label="Cars"
onChange={formik.handleChange}
onBlur={formik.handleBlur}
inputProps={{
...params.inputProps,
autoComplete: "new-password"
}}
/>
)}
/>
我使用CodeSandbox创建了一个工作示例。 有人可以帮忙吗?
您得到undefined-undefined
是因为您已经在此处描述了 selected 属性的外观:
getOptionLabel={(option) => `${option.code} - ${option.label}`}
因此,您应该将一个可以访问code
和label
值的对象传递给默认选项。 更改defaultValue={cars[0]}
会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.