-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scrolling scrolling menu into view does not work well inside scroll container #3473
Comments
Thanks @Rall3n, I'm familiar with portals, but I'd really like to render inside the scroll container. I believe I've got a good fix for it, I'm just struggling a bit with some of the e2e testing framework before I push up a PR. |
Hi @IanVS, |
It's possible! As soon as I get a little time, I'll try to at least push up a branch/pr, and you can test it out. I'll @-mention you on the pr. |
@satyamatwork I still haven't gotten any good tests written for it, but I've pushed up a branch to my fork and tested it in my own application, and it seems to work well, as long as the scroll container is |
Thanks for your comment @IanVS . Setting the scroll container to |
Is there an open PR for that? |
@ranihorev There is now. I finished up the e2e test that I was a bit stuck on, and pushed one up. I hope that it's valuable and that the maintainers will be able to merge it. 🤞 |
Are you reporting a bug or runtime error?
A bug, here is a codesandbox: https://codesandbox.io/s/w0ymoxq827
The issue is that
viewHeight
is calculated from thewindow
, which causes problems for select elements inside of other scroll containers. This can be seen in the provided codesandbox, by changing the height of the embedded browser window, and seeing that the scroll behavior changes depending on that height.I've played around in the code enough to find what seems to be a solution, causing the scroll container to scroll when needed, and also constraining the height of the menu to the total visible height of the scroll container, so the entire menu is shown, and it's not necessary to scroll the container outside the menu to see the entire menu. I'll work on cleaning up my code and will submit a PR, but I wanted to at least open an issue to explain the problem.
Oh and one other question while I'm at it, why does the scroll container need to beI guess this is because the menu is absolutely positioned, so it needs a relative parent.position: relative;
to be detected as a scroll parent? It's not immediately obvious that it's necessary, and it was only by digging through thesource that I figured out why my container was not scrolling.
I believe this is similar to the case reported back in #1267, but that plnkr is broken, so I can't tell for sure.
The text was updated successfully, but these errors were encountered: