【发布时间】:2022-11-07 16:11:57
【问题描述】:
我正在努力自定义自动完成列表中的选项元素。我想通过使用 renderOptions 道具来做到这一点,我可以在其中创建 DOM 元素。然后,我可以很容易地添加带有 sx 或样式组件的样式。
但有些不对劲。当我尝试渲染包含在 div 中的选项列表元素时,电影的名称被隐藏(?) 它们被渲染,因为我仍然可以选择选项,然后它显示为选中,但输入列表仍然损坏,并且 CSS 样式未应用。
我错过了什么?自动完成及其样式对我来说是新的。
编码:
<Autocomplete
freeSolo
id="free-solo-2-demo"
disableClearable
options={top100Films.map((option) => option.title)}
renderOption={(props, option) => {
return (
<li {...props}>
<div
sx={{
backgroundColor: "red",
color: "orange"
}}
>
{option.title}
</div>
</li>
);
}}
renderInput={(params) => (
<TextField
{...params}
label="Search input"
InputProps={{
...params.InputProps,
type: "search"
}}
/>
)}
/>
</Stack>
);
}
下面是演示:https://codesandbox.io/s/freesolo-material-demo-forked-dupxol?file=/demo.js
【问题讨论】:
标签: javascript css reactjs material-ui autocomplete