angular / angular/components

bug(TABLE): 'sticky' directive positions column in wrong place when using more than one 'mat-header-row' on the table

Aperta
#22,023 4 commenti 9 reazioni 0 assegnatari Vedi su GitHub
area: material/table P3
Lingua principale
TypeScript
Stelle
25k
Fork
6.8k
Merge medio
1g 8h
PR unite (30g)
91

Descrizione

#### Description
It is known that you can set `sticky` directive for more than one `matColumnDef`. It is also known that you can have more than one row of table heading (`mat-header-row`). However, with more than one `mat-header-row` the `sticky` feature breaks the table layout.

#### Reproduction

[https://stackblitz.com/edit/cdk-table-multi-row-heading-sticky-column](https://stackblitz.com/edit/cdk-table-multi-row-heading-sticky-column?file=src%2Fapp%2Fapp.component.html)

Steps to reproduce:
1. Open the stackblitz, play a bit with `sticky` directive after reading expected and actual behavior.

#### Expected Behavior
1. Both columns are sticky - `1st` and `2nd` and in proper place
2. If `sticky` is applied to column with colspan, I expect both 'spanned' columns below it should be sticky

#### Actual Behavior

What behavior did you actually see?
1. `1st` and `2nd` columns are sticky, but `2nd` column is missplaced (has moved to the right), covering another column named `item`.
![image](https://user-images.githubusercontent.com/3342202/109306506-8edc3100-783f-11eb-9116-55b925a8cf63.png)

2. If you add `sticky` to the 'grouping' header `no.` it only makes group header cell to be sticky - not the whole 2 collumns with `1st` and `2nd` values.

#### Environment

- Angular: 11.2.3
- CDK/Material: 11.2.2
- Browser(s): Chrome Version 88.0.4324.182 (Official Build) (64-bit)
- Operating System (e.g. Windows, macOS, Ubuntu): Windows 10

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia aprendo la riproduzione collegata su StackBlitz e ispeziona src/app/app.component.html, concentrandoti sui molteplici elementi mat-header-row e sulle direttive sticky. Riproduci entrambi i casi segnalati, quindi traccia il comportamento sticky della tabella Angular CDK/Material. Il lavoro è completo quando le colonne sticky rimangono nella posizione corretta e un'intestazione sticky colspan mantiene sticky le colonne che copre.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
angular, typescript
Ambito
frontend
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.