-
Notifications
You must be signed in to change notification settings - Fork 4
Catalyst UI Dropdown slow with many items #1667
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
Comments
Hey! Thanks for reporting this. The actual issue isn't in Catalyst, but rather the underlying Headless UI library that we use to power these components. We've been able to reproduce this issue with both the dropdown and listbox components, and the team has already spent some time trying to figure out what's going on here, but unfortunately haven't cracked it yet. Mostly just providing an update here so you know that we're on it. I'll report back once we've learned more 👍 |
Ah great to hear! |
Hello @reinink , do you perhaps have a link to the issue on headless ui? Or isn't there one ? :) |
@tomh4 Hey! Finally got an update here. This week we released https://github.com/tailwindlabs/headlessui/releases/tag/%40headlessui%2Freact%40v2.2.2 To fix this in your Catalyst project, simply update your project to the latest version of Headless UI: npm install @headlessui/react@latest Thanks so much for reporting this — this component should work much better for you now 👍 |
Thank you for fixing this! Great job :) |
What component (if applicable)
Describe the bug
When adding many items (700+) to the dropdown menu, it gets very slow and takes a couple of seconds to open.
Maybe we could make use of a virtualized list or something?
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Quick opening of menu, virtualizing the list
Browser/Device (if applicable)
Additional context
It is not uncommon to have these large dropdowns, e.g. our use case is a lanuage picker which has over 700 options to choose from
The text was updated successfully, but these errors were encountered: