【问题标题】:Moving the chips/tags outside Autocomplete box in MUI将芯片/标签移到 MUI 中的自动完成框之外
【发布时间】:2021-06-27 02:08:36
【问题描述】:
【问题讨论】:
标签:
reactjs
autocomplete
material-ui
【解决方案1】:
您可以通过禁用Autocomplete 内的标签呈现并在Autocomplete 下方添加您自己的Chip 列表来做到这一点。
const [value, setValue] = useState([]);
const onDelete = (title) => () => {
setValue((value) => value.filter((v) => v.title !== title));
};
return (
<Box sx={{ width: 500 }}>
<Autocomplete
multiple
options={top100Films}
defaultValue={[top100Films[13]]}
getOptionLabel={(option) => option.title}
value={value}
onChange={(e, newValue) => setValue(newValue)}
renderTags={() => null}
renderInput={(params) => (
<TextField {...params} variant="outlined" placeholder="Favorites" />
)}
/>
<Box
mt={3}
sx={{
'& > :not(:last-child)': { marginRight: 1 },
'& > *': { marginBottom: 1 },
}}
>
{value.map((v) => (
<Chip key={v.title} label={v.title} onDelete={onDelete(v.title)} />
))}
</Box>
</Box>
);
const top100Films = [
{ title: "The Shawshank Redemption", year: 1994 },
{ title: "The Godfather", year: 1972 },
]
现场演示
V5
V4