-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[tree view] Add virtualization support #9685
Comments
This comment was marked as resolved.
This comment was marked as resolved.
@oliviertassinari Using the DataGridPro with Tree Data solves the performance issue for very large trees? Is this the way? |
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as resolved.
This comment was marked as resolved.
@david-ic3 the data grid could indeed be used this way, and solve the performance issue with large tree. However, https://mui.com/x/react-data-grid/tree-data/ implements the
So for a tree view like the VS Code file browser, this would have its limits (I don't know each enough to say what are the true differences). I have transferred this issue to MUI X, per https://mui.com/material-ui/discover-more/roadmap/. |
Waiting for an official implementation, I attempted to implement a tree view with virtualization using react-virtualized-auto-sizer and react-window. |
Since the virtualization support is already on the MUI X public roadmap with a label |
@sauron918 Correct. Per our research (see issue description benchmark), the range of options available is slim, too often those efforts get abandoned. The dream is to bring the amazing VS Code tree view to React. See https://www.reddit.com/r/reactjs/comments/16vt1vv/react_component_needed_virtual_trees_w_drag_and/ for an interesting thread on this. So it seems that if we license this MIT, we won't be able to make it work long-term (not enough donations, sponsoring, ad revenue, etc.). So we need a commercial license. I think this was borderline to land under the Premium plan (close to no open-source alternatives) but Pro feels less greedy, so more "right". |
Hello, I just wanted to ask if there any estimation to publish data for the virtual-tree at the pro plan? :) |
@itayG98 We are aiming for an initial release of the virtualization in |
Would really love to see this as soon as possible! |
Great ! I wish you luck! |
Tree View doesn't support virtualization for long-list items. It will be nice to have this feature.
Summary 💡
To maintain consistency with Autocomplete, it's better to use react-window as a virtualization library. To keep the current API, the Tree View component should merge items to flat list and by using indents present items. (https://material-ui.com/components/lists/#nested-list)
Motivation 🔦
Most of the time tree view uses for long lists and structured data. If the parent item has 1000 children, the performance slows down.
Other requests
Benchmarks
The text was updated successfully, but these errors were encountered: