通过循环计算总高度Javascript

Calculate total height through loop Javascript

您好,我有一个 table 有 n 行。我需要根据行高计算总高度。以下是 Typescript 代码:

private _getRowHeight(_params: any): number {
    let totalRowHeight: number;
    let maxHeight: number = 100;
    let contentLength: number = 50;
    for (let i in _params.data) {
        if (i != "time" && _params.data[i] instanceof Array) {
            let tempHeight: number = 100 * _params.data[i].length;
            if (tempHeight > maxHeight) maxHeight = tempHeight;
            for (let x in _params.data[i]){
                let tempContentHeight: number = 20 * _params.data[i][x].content.length;
                if (tempContentHeight > contentLength) contentLength = tempContentHeight;
            }
        }
    }
    maxHeight += contentLength;
    return maxHeight;
}

基本上 maxHeight 是每行的高度。如何计算每行的每个 maxHeight 或高度的总和并将其分配给变量 totalRowHeight。请给我建议。提前谢谢大家

假设每行的高度不固定(在这种情况下,一个简单的arrayOfRows.length * x就足够了),那么你可以使用ElementRefoffsetHeight来获取高度,即:

import { Component, ElementRef } from '@angular/core';

@Component({
   selector: 'table-example',
   template: '<table-example> ... </table-example>'
})
export class TableExampleComponent {

   totalRowHeight: number;

   constructor(private elRef: ElementRef) {}

   // make sure the view has been fully rendered with ngAfterViewInit

   ngAfterViewInit() { 
      let totalRowHeight = this.elRef.nativeElement.offsetHeight;
   } 
}