Skip to content

Scrolling scrolling menu into view does not work well inside scroll container #3473

@IanVS

Description

@IanVS

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 the window, 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 be 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 the
source that I figured out why my container was not scrolling.
I guess this is because the menu is absolutely positioned, so it needs a relative parent.

I believe this is similar to the case reported back in #1267, but that plnkr is broken, so I can't tell for sure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    issue/bug-confirmedIssues about a bug that has been confirmed by a maintainerissue/has-prIssue has a PR attached to it that may solve the issueissue/reviewedIssue has recently been reviewed (mid-2020)menu-bugAddresses menu positioning, scrolling, or general interactions

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions