angular / angular/components

Material Tabs + No Template Caching => Broken Virtual Scroll

Abierto
#27,230 0 comentarios 0 reacciones 0 asignados Ver en GitHub
area: cdk/scrolling area: material/tabs P3
Lenguaje dominante
TypeScript
Estrellas
25k
Forks
6.8k
Merge medio
1 d 8 h
PR fusionados (30 d)
91

Descripción

### 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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con la reproducción vinculada de StackBlitz, especialmente con src/example/cdk-virtual-scroll-template-cache-example.ts y sus archivos HTML y CSS, y reproduce el desplazamiento con templateCacheSize establecido en 0. Compara el comportamiento con la paginación de Material Tab deshabilitada. Se considera completado cuando el virtual scroll siga funcionando con Material Tabs y sin template caching, sin depender del workaround.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
angular, typescript
Área
frontend
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.