[英]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.