Open nikita-fuchs opened 2 years ago
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 ) 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 !
Currently, the only way to provide a class to rows seems to be via a function:
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 ) 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 !