Skip to content

dcc.Dropdown: Use virtualized lists for large collections of options#3656

Open
KoolADE85 wants to merge 7 commits intodevfrom
bugfix/3616
Open

dcc.Dropdown: Use virtualized lists for large collections of options#3656
KoolADE85 wants to merge 7 commits intodevfrom
bugfix/3616

Conversation

@KoolADE85
Copy link
Contributor

@KoolADE85 KoolADE85 commented Mar 11, 2026

This PR virtualizes lists when rendering lists of options (using react-window library).

Also, replaced a few options.map() calls with a Set for faster lookups.

This allows the dropdown component to render huge amounts of options without any perceivable performance impact.

Fixes #3616

Contributor Checklist

  • I have run the tests locally and they passed. (refer to testing section in contributing)
  • I have added tests, or extended existing tests, to cover any new features or bugs fixed in this PR

optionals

  • I have added entry in the CHANGELOG.md
  • If this PR needs a follow-up in dash docs, community thread, I have mentioned the relevant URLS as follows
    • this GitHub #PR number updates the dash docs
    • here is the show and tell thread in Plotly Dash community

@KoolADE85 KoolADE85 marked this pull request as ready for review March 12, 2026 15:50
@github-actions
Copy link

Thank you for your contribution to Dash! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] dcc.Dropdown in dash 4.0.0 is considerably slower than before

1 participant