Material Tabs + No Template Caching => Broken Virtual Scroll
- Langage dominant
- TypeScript
- Étoiles
- 25k
- Forks
- 6.8k
- Merge moyen
- 1 j 8 h
- PR mergées (30 j)
- 91
Description
### 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
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par la reproduction StackBlitz liée, en particulier src/example/cdk-virtual-scroll-template-cache-example.ts ainsi que ses fichiers HTML et CSS, et reproduisez le défilement avec templateCacheSize défini sur 0. Comparez le comportement avec la pagination de Material Tab désactivée. C'est terminé lorsque le virtual scroll reste fonctionnel avec Material Tabs et sans template caching, sans dépendre du workaround.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- angular, typescript
- Domaine
- frontend
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100