Position of select menu not based on scrollable parent
See original GitHub issueAs mentioned in PR 3531,
It does not solve all use cases, as there is still code that checks for available view height on window (viewSpaceBelow >= menuHeight), and not inside the container.
I’m facing the similar issue when the menu is present near the bottom of the view area inside a scrollable div, in my case a slide panel, the menu’s positioning is being based on the window height and not the scrollable parent. The following are the issues that I’m facing:-
- The menu is being truncated if there is some other container at the bottom of the page but the menu can fit inside the window and is being placed at the bottom.
- The scrollable div is not being scrolled to bring the menu into the view.
- If I use
menuPosition = "fixed"
, I’m able to remove the truncation problem, but that brings another issue as the position of menu is not being changed if the parent div is scrolled up or down.
I’m working on a fix for the getMenuPlacement
function inside Menu.js
, and trying to change the calculations based on the scrollable parent instead of using the window
every time. If there is no scrollable parent, then the default thing will be working as is.
If anyone else is working on this issue, do let me know.
Issue Analytics
- State:
- Created 4 years ago
- Comments:9 (2 by maintainers)
Top GitHub Comments
My apologies @IanVS I guess I missed your previous comments. @bladey I spent my whole day today trying to check if Ian’s changes work for me but unfortunately they are not working and I’m able to reproduce the main issue. If the changes I made in
packages/react-select/src/utils.js
are also added to Ian’s changes, then they seem to work a little bit but not for every case. I have also made a tiny update to my PR and now every issue seems to fixed.@bladey I can’t speak for @prateek0227 but it appears the PR would address this same issue I am having. I am not dealing with the scroll-to issue the PR also deals with, but the positioning not being based on nearest scrollable parent as @prateek0227 describes is causing me a lot of problems.