Expansion panel expanded state issue with Virtual Scroll
- Dominant language
- TypeScript
- Stars
- 25k
- Forks
- 6.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 91
Description
#### Bug, feature request, or proposal:
`cdkVirtualScroll` does not work properly with `matAccordion` and `matExpansionPanel`.
The accordion does not respect the expansion state of individual expansion panels as you scroll.
#### What is the expected behavior?
The expansion state is maintained as you scroll
#### What is the current behavior?
If you expand the xth item in the accordion then as you scroll, the xth in the view will always be expanded. ie if you expand the 3rd item then as you scroll down to say the 1000th item then the 1003rd item will be expanded.
#### What are the steps to reproduce?
[Stackblitz example](https://stackblitz.com/edit/virtual-scroll-expansion-panels)
#### What is the use-case or motivation for changing an existing behavior?
Able to use expansion panels inside virtual scroll
#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 7.0
Material 7.0
MacOS 10.14
TypeScript 3.x
Browser Chrome 70.0
#### Is there anything else we should know?
No
Contributor guide
Research direction
Start with the linked StackBlitz reproduction and inspect how cdkVirtualScroll is combined with matAccordion and matExpansionPanel. Confirm that expansion state follows the original item rather than its recycled viewport position, and use that behavior as the completion criterion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100