需要根据表标题中的条件应用类

时间:2019-05-28 09:37:26

标签: html angular

我需要根据if else条件在td上实现特定的类。如果您看到我的代码,那么我正在遍历th和td元素。如果th类名称等于Legal Class ID,则我需要将th中的文本留空或将颜色设置为白色,以使标题文本不可见。我创建了一个名为cellbgcolor的类。仅当标题文本为所有其他所有类别的Legal Class ID时,我才需要应用,它应该将class tableItem加粗。我怎么做。我分享了下面的html和jsfiddle

html

  <style>
      .cellbgcolor {
        color: white;
    }
   </style>

    <div *ngIf="LegalFundClasses && LegalFundClasses.LegalFundClassDetailsViewModel && ColumnNames">
         <table class="fundClassesTable table-striped">
          <tr *ngFor="let c of ColumnNames">
            <th class="tableItem bold">{{ c }}</th>
            <ng-container *ngFor="let f of LegalFundClasses.LegalFundClassDetailsViewModel; let i=index">
              <td class="tableItem" *ngIf="c == ColumnNames[0]">{{f.Description}}</td>
              <td class="tableItem" *ngIf="c == ColumnNames[1]">{{f.AuditSummary}}</td>
              <td class="tableItem" *ngIf="c == ColumnNames[2]">{{f.Id}}</td
            </ng-container>
          </tr>
        </table>
      </div>

 Component



  public ColumnNames: string[] = ['Legal Class Name',
                                    'Last Edited',
                                    'Legal Class ID'
                                  ];

这是JSFiddle

https://jsfiddle.net/zyk9xhd1/2/

3 个答案:

答案 0 :(得分:0)

尝试类似的操作:

<td [class.tableItem]="booleanCondition" [class.cellbgcolor]="booleanCondition">...</td>

<td [class]="booleanCondition ? 'tableItem' : 'cellbgcolor'">...</td>

答案 1 :(得分:0)

尝试一下,希望对您有所帮助。

<th [ngClass]="{'cellbgcolor':c == ColumnNames[2],'tableItem bold':c != ColumnNames[2]}">{{ c }}</th>

OR

<th [ngClass]="c == ColumnNames[2] ? 'cellbgcolor' : 'tableItem bold'">...</th>

答案 2 :(得分:0)

使用ngClass

`<th [ngClass]="c == ColumnNames[2] ? 'cellbgcolor' : 'tableItem bold'">{{ c }}</th>`

更新了Fiddle