angular / angular/components

Material Tabs + No Template Caching => Broken Virtual Scroll

Offen
#27,230 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: cdk/scrolling area: material/tabs P3
Vorherrschende Sprache
TypeScript
Sterne
25k
Forks
6.8k
Ø Merge
1 T. 8 Std.
Gemergte PRs (30 T.)
91

Beschreibung

### Description

If you attempt a ***cdkVirtualFor** with a **templateCacheSize: 0**, the Virtual Scroll will break when you include a **Material Tab** in the repeated element.

### Reproduction

[StackBlitz ](https://stackblitz.com/edit/el4pji?file=src%2Fexample%2Fcdk-virtual-scroll-template-cache-example.ts,src%2Fexample%2Fcdk-virtual-scroll-template-cache-example.html,src%2Fexample%2Fcdk-virtual-scroll-template-cache-example.css)

Steps to reproduce:
1. Try scrolling.

### Expected Behavior

No broke.

### Actual Behavior

Broke.

### Workaround
Disable **Material Tab** pagination as so:

### Environment

Angular CLI: 16.0.0
Node: 18.15.0
Package Manager: npm 9.5.0
OS: win32 x64

Angular: 16.0.0
... animations, cdk, cdk-experimental, cli, common, compiler
... compiler-cli, core, forms, material, platform-browser
... platform-browser-dynamic, router

Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1600.0
@angular-devkit/build-angular 16.0.0
@angular-devkit/core 16.0.0
@angular-devkit/schematics 16.0.0
@angular/fire 7.6.1
@schematics/angular 16.0.0
rxjs 7.8.1
typescript 4.9.5

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit der verknüpften StackBlitz-Reproduktion, insbesondere mit src/example/cdk-virtual-scroll-template-cache-example.ts sowie den zugehörigen HTML- und CSS-Dateien, und reproduziere das Scrollen mit templateCacheSize auf 0 gesetzt. Vergleiche das Verhalten mit deaktivierter Material-Tab-Paginierung. Als abgeschlossen gilt die Aufgabe, wenn der virtual scroll mit Material Tabs und ohne template caching weiterhin funktioniert, ohne auf den Workaround angewiesen zu sein.

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
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.