bug(CDK/SCROLLING): <object> element in *cdkVirtualFor is glitching when using "templateCacheSize: 0"
- Vorherrschende Sprache
- TypeScript
- Sterne
- 25k
- Forks
- 6.8k
- Ø Merge
- 1 T. 8 Std.
- Gemergte PRs (30 T.)
- 91
Beschreibung
### Is this a regression?
- [ ] Yes, this behavior used to work in the previous version
### The previous version in which this bug was not present was
_No response_
### Description
When using No cache strategy (templateCacheSize: 0) for *cdkVirtualFor with element (as image), elements of list glitch while scrolling. Seems like cdkVirtualFor incorrectly init/reinit or reuse instances of listed elements.
When using tag instead of no bug detected.
### Reproduction
StackBlitz link: https://stackblitz.com/edit/uyv2wg?file=src%2Fexample%2Fcdk-virtual-scroll-template-cache-example.html
Steps to reproduce:
1. Create list of 100 elements, use with image link data.
2. Scroll
### Expected Behavior
Smooth scrolling, correct reusing/reinit of list elements, no content replacing.
### Actual Behavior
Scrolling is not smooth (end sometimes end / start of list is unreachable), elements in list are replaced by content of sibling.
### Environment
- Angular: 17.0.0-rc.0 (and 15)
- CDK/Material: 16.2.10
- Browser(s): Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): macOs
Beitragsleitfaden
Rechercherichtung
Beginne mit der verlinkten StackBlitz-Reproduktion und überprüfe das Verhalten in Chrome mit cdkVirtualFor, templateCacheSize: 0 und object image elements. Lies die CDK-Implementierung für virtuelles Scrolling im Bereich der Template-Wiederverwendung und vergleiche sie mit dem img-Fall. Als erledigt gilt die Aufgabe, wenn das Scrollen flüssig ist, alle Listenelemente erreichbar sind und kein Inhalt durch ein Geschwisterelement ersetzt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- angular, typescript
- Bereich
- frontend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100