akveo / akveo/ng2-smart-table

Allow providing static row classes

Aperta
#1,326 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
1.6k
Fork
867
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Currently, the only way to provide a class to rows seems to be via a function:

```
this.settings = {
rowClassFunction: (row) => {console.log('And again', row); return 'address-column-entry'; },
...
```
this was introduced in this PR: https://github.com/akveo/ng2-smart-table/pull/355

The issue with this pattern is that angular re-executes all functions bound to a template ( [see className input here](https://github.com/akveo/ng2-smart-table/blob/master/projects/ng2-smart-table/src/lib/components/tbody/tbody.component.html#L1) ) during change detection. Depending on how many rows the table has, this leads to unnecessary / heavy performance issues, as the classes are recalculated and applied to the DOM continuously. This is explained here very well: https://lukeliutingchun.medium.com/angular-performance-issue-caused-by-function-calls-in-template-a1a930f40464

With my example code, you can see the function being re-executed endlessly in the console.

It would be nice to have a way to statically set classes to rows, thanks !

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.