I'm using material ui and I have a multiple select component. I have 2 problems, which I'm just unable to solve:
- when selecting an item the dropdown jumps around (I've already tried solutions like MenuProps={{ variant: "menu", getContentAnchorEl: null }} -> see code)
- I'd like the dropdown to open on hover -> I've checked the the Select API and Menu Props API but I can't find a solution for that.
Could someone point me in the right direction?
Here's my code:
<FormControl
id={title}
className={classes.formControl}
variant="filled"
size="small"
>
<InputLabel id={title}>
{title}
</InputLabel>
<Select
MenuProps={
PaperProps: {
style: {
maxHeight: ITEM_HEIGHT * 4 + ITEM_PADDING_TOP,
width: 270,
},
},
variant: "menu",
getContentAnchorEl: null,
}
disableUnderline
labelId={title}
id={includes}
multiple
value={selectedValues}
input={<Input />}
renderValue={(selected) => (
<div>
{selected.map((value) => (
<Chip key={value} label={value}/>
))}
</div>
)}
>
<MenuItem
key={filter.categoryNameWebsite}
value={filter.categoryNameWebsite}
>
//some logic
</MenuItem>
</Select>
</FormControl>
EDIT:
Question 1:
With the help of NearHuscarl I found out, that the jumping is not related to material UI. My problem was: With each item that was selected from the dropdown the URL path changed. Since I'm using next.js router (useRouter) the "scroll" option is by default "true". I had to change it to "false". Now the jumping is finally gone :)
Question 2: See solution provided by NearHuscarl.
Select
jumpy? I removed the margin top in my codesandbox and it still works, weird...Select
in a codesandbox, maybe somebody can fix it. Maybe it's because of your custom styles?