Ngx-datatable获取行的CSS

问题描述 投票:0回答:1

我的目标是,当我单击行中的按钮时,将其应用于行。

我已经在列中定义了一些按钮,如下所示:

contactlist.component.html

<ngx-datatable #ngxtable [messages]="messages" [rows]="contacts"
[rowHeight]="env.ngx.datatableRowHeight" [headerHeight]="env.ngx.datatableHeaderHeight" [columnMode]="env.ngx.columnModeFlex" [ngClass]="env.ngx.datatableClass" class="datatableSmall">
    <ngx-datatable-column name="name" [flexGrow]="4">
        <ng-template let-column="column" ngx-datatable-header-template>
            <span>Nombre</span>
        </ng-template>
    </ngx-datatable-column>
    <ngx-datatable-column *ngIf="!isSmallScreen" name="phone" [flexGrow]="2">
        <ng-template let-column="column" ngx-datatable-header-template>
            <span>Telf</span>
        </ng-template>
    </ngx-datatable-column>
    <ngx-datatable-column *ngIf="!isSmallScreen" name="cellPhone" [flexGrow]="2">
        <ng-template let-column="column" ngx-datatable-header-template>
            <span>Móvil</span>
        </ng-template>
    </ngx-datatable-column>
    <ngx-datatable-column *ngIf="!isSmallScreen" name="mail" [flexGrow]="4">
        <ng-template let-column="column" ngx-datatable-header-template>
            <span>Correo</span>
        </ng-template>
    </ngx-datatable-column>
    <ngx-datatable-column name="Acciones" sortable="false" [flexGrow]="3">
        <ng-template let-row="row" let-rowIndex="rowIndex" let-value="value" ngx-datatable-cell-template>
            <ion-button *ngIf="!editMode" fill="clear" size="small" (click)="edit(row, rowIndex)">
                <ion-icon slot="icon-only" name="create" color="black"></ion-icon>
            </ion-button>
            <ion-button *ngIf="!editMode" fill="clear" size="small" (click)="remove(row.id)">
                <ion-icon slot="icon-only" name="remove-circle-outline" color="black"></ion-icon>
            </ion-button>
        </ng-template>
    </ngx-datatable-column>
</ngx-datatable>

通过在.ts内定义的函数,我能够获取行的值,但从不访问应用于该行的类。

我通过以下方式引用了Datatable对象:

  @ViewChild('ngxtable', {static: false})
  private ngxTable: DatatableComponent;

但是我看不到对行样式的任何引用。

angular ngx-datatable
1个回答
0
投票

确定,找到解决方案。

无需获取对数据表的任何引用。 Ngx数据表具有选项[rowClass],该选项允许函数在某些条件下应用样式。

就我而言:

<ngx-datatable #ngxtable [messages]="messages" [rows]="contacts"  [rowClass]="isEditingRow"

以及在.ts中>

  isEditingRow = (row) => {
    return {
      'selectedEditMode': (() => { return row.id === this.editingRowId })()
    };
  }
© www.soinside.com 2019 - 2024. All rights reserved.