Skip to content
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

feat(Expansion Panel): "Virtual" expansion panel #19874

Open
Goldman90 opened this issue Jul 6, 2020 · 6 comments
Open

feat(Expansion Panel): "Virtual" expansion panel #19874

Goldman90 opened this issue Jul 6, 2020 · 6 comments
Labels
area: material/expansion feature This issue represents a new feature or feature request rather than a bug or bug fix P3 An issue that is relevant to core functions, but does not impede progress. Important, but not urgent

Comments

@Goldman90
Copy link

Feature Description

for certain use cases, an option to make expansion panel not render the items inside 'em when closed(like a virtual scroll) would be really useful

Use Case

for example, in the image i've got two expansion panels, each with 50 components inside, if i closed one, those 50 components would still be loaded in the page, unnecesarily
image

@Goldman90 Goldman90 added feature This issue represents a new feature or feature request rather than a bug or bug fix needs triage This issue needs to be triaged by the team labels Jul 6, 2020
@crisbeto
Copy link
Member

crisbeto commented Jul 6, 2020

This sounds like the "Lazy rendering" use case from the docs: https://material.angular.io/components/expansion/overview#lazy-rendering

@Goldman90 Goldman90 reopened this Jul 6, 2020
@Goldman90
Copy link
Author

my bad, though it was as you said, but lazy renedring will keep the rendered elements after they were rendered once, instead of removing 'em if it's closed again, as a virtual scroll would

@crisbeto
Copy link
Member

I believe the thinking behind keeping the elements in the DOM after the first render is that you've already paid the cost for rendering the elements so keeping them for the next time it's opened is cheaper than removing and re-adding them. That sort of breaks down for virtual scrolling when you have tons of elements.

@crisbeto crisbeto added P3 An issue that is relevant to core functions, but does not impede progress. Important, but not urgent and removed needs triage This issue needs to be triaged by the team labels Jul 12, 2020
@Goldman90
Copy link
Author

the problem is that, in cases like the one described in my first post, when all elements have been rendered, #8287 happens

@angular-robot
Copy link
Contributor

angular-robot bot commented Feb 22, 2022

Just a heads up that we kicked off a community voting process for your feature request. There are 20 days until the voting process ends.

Find more details about Angular's feature request process in our documentation.

@angular-robot
Copy link
Contributor

angular-robot bot commented Mar 14, 2022

Thank you for submitting your feature request! Looks like during the polling process it didn't collect a sufficient number of votes to move to the next stage.

We want to keep Angular rich and ergonomic and at the same time be mindful about its scope and learning journey. If you think your request could live outside Angular's scope, we'd encourage you to collaborate with the community on publishing it as an open source package.

You can find more details about the feature request process in our documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: material/expansion feature This issue represents a new feature or feature request rather than a bug or bug fix P3 An issue that is relevant to core functions, but does not impede progress. Important, but not urgent
Projects
None yet
Development

No branches or pull requests

3 participants