Angular Material如何从mat-table设置mat-sort-header

时间:2018-01-02 19:30:31

标签: angular typescript angular-material2

我有角度材料的下一张桌子:

<mat-table *ngIf="!waiting" class="table-general table-summary"  #table [dataSource]="dataSource" matSort>
    <mat-header-row class="header_row" *matHeaderRowDef="headerKeys"></mat-header-row>
    <mat-row class="row" *matRowDef="let row; columns: headerKeys;"></mat-row>
    <ng-container *ngFor="let key of headerKeys; let i = index">
      <ng-container matColumnDef="{{key}}">
        <mat-header-cell class="header_name header_{{key}}" *matHeaderCellDef mat-sort-header> {{getHeaderName(key)}} </mat-header-cell>
        <mat-cell class="cell cell_{{key}}" *matCellDef="let row">
          <div class="box_cell {{key}}">
            <div class="current_value ellipsis" *ngIf="key=='customer'">{{cellValue(row[key])}}</div>
            <mh-box-score
              *ngIf="key!='customer'"
              [value]="cellValue(row[key])"
              [type]="cellValue(row[key],'type')+' small'"
              [type_number]="'percent'"
              [previous_value]="cellValue(row[key],'diff')"
              [previous]="cellValue(row[key],'previousLabel')"
            ></mh-box-score>
          </div>
        </mat-cell>
      </ng-container>
    </ng-container>
  </mat-table>

它的工作完美。现在我想修改标题中排序箭头的位置,从之后到according to the documentation之前 enter image description here

我已经搜索了所有方法,但我不能做一些看起来那么简单的事情。

请帮助,我是角色相对较新的

1 个答案:

答案 0 :(得分:4)

要移动箭头,您需要将@Input()项目指令arrowPosition应用于mat-sort-header <th mat-sort-header="name" arrowPosition='before'>Dessert (100g)</th>的DOM元素。

Here is a stackblitz example了解如何将arrowPosition应用于直接从Material示例分叉的各种表格标题。