angular / angular/components

feat(CDK Table): Able to inject row in cell

Aperta
#29,114 3 commenti 0 reazioni 1 assegnatario Rivendicata da @andrewseguin Vedi su GitHub
feature P4
Lingua principale
TypeScript
Stelle
25k
Fork
6.8k
Merge medio
1g 8h
PR unite (30g)
91

Descrizione

### Feature Description

The same feature request was made in 2019 but was rejected #15733.
Andrew Seguin did not explain why the Angular Material Team does not plan on supporting this case.
Over the past few years, Angular has changed a lot, so I am trying to ask again.

### Use Case

![wawa2](https://github.com/angular/components/assets/8691013/2ac78c40-7935-49cc-8204-de7291541fc5)
I am trying to do a hover header to show all cell border effects, similar to the Google Ads table (as shown in the GIF above).

My idea is to create two directives (Row and Cell).
Row listens to mouse enter events and then queries all Cell instances to call Cell.showBorder(). However, I know that Angular query is based on the LView tree, not the DOM tree, so the Row can't query its Cells.

I tried another way, where Cell injects its Row. However, this also didn't work. After checking the code, I found that when CdkTable creates cell embedded view, it does not specify injector
![image](https://github.com/angular/components/assets/8691013/4d7039f3-a5de-4e78-b8df-f0ea84257788)
This is the reason why Cell cannot inject Row.

I'm not sure if the new Angular team will change their attention, but I hope to at least get an explanation.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.