angular / angular/components

bug(cdkTable): virtual scroll does not work for tables with cdkRowDefWhen

Offen
#32,670 5 Kommentare 5 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: cdk/table feature P3
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

Virtual scroll does not work for tables with multiple cdkRow definitions. Properties remain undefined when a line from another definition is reused.

### Reproduction

StackBlitz link: [cdk-table-virtual-scroll-example](https://stackblitz.com/edit/pye7nuce?file=src%2Fexample%2Fcdk-table-virtual-scroll-example.html)
Steps to reproduce:
1. download and update the project to Angular 21.1 (sorry, I struggled with updating on StackBlitz)
2. run the project and scroll the tables down

### Expected Behavior

See the lines as if there were no virtual scroll.

### Actual Behavior

Rows that have reused a row of the other definition doesn't show their property. It is undefined.

### Environment

- Angular: 21.1.0
- CDK/Material: 21.1.0
- Browser(s):
- Operating System (e.g. Windows, macOS, Ubuntu):

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit dem verknüpften StackBlitz cdk-table-virtual-scroll-example, aktualisiere es auf Angular 21.1, führe es aus und scrolle durch die Tabellen, um das Problem zu reproduzieren. Verfolge das Verhalten der Virtual-Scroll-Tabelle mit mehreren cdkRowDefWhen-Definitionen; abgeschlossen ist die Aufgabe, wenn wiederverwendete Zeilen ihre Eigenschaften genauso anzeigen wie ohne Virtual Scroll.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, typescript
Bereich
frontend
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

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