angular - 在 Material 表页脚中包含按钮和分页器

标签 angular pagination angular-material angular-material-table

我使用 Angular Material Table,我需要一个命令按钮和表格页脚行中的表格分页器,就像这样 enter image description here

我的代码其实是这样的

<div class="example-table-container mat-elevation-z8">

  <table mat-table [dataSource]="dataSource" multiTemplateDataRows>
    <!-- DataSource's displayedColumns -->
    <ng-container matColumnDef="{{column}}" *ngFor="let column of displayedColumns">
      <th mat-header-cell *matHeaderCellDef> {{column}} </th>
      <td mat-cell *matCellDef="let element"> {{element[column]}} </td>
    </ng-container>


    <!-- Exporter column -->
    <ng-container matColumnDef="exporter">
      <td mat-footer-cell *matFooterCellDef colspan="2">
        <button class="btn btn-primary" (click)="exportCsv(dataSource)">
          <i class="material-icons" title="Exporter en CSV">save_alt </i>
        </button>
      </td>
    </ng-container>

    <!-- Paginator column -->
    <ng-container matColumnDef="paginator">
      <td mat-footer-cell *matFooterCellDef colspan="3">
        <mat-paginator [pageSizeOptions]="[5,10,20]" showFirstLastButtons></mat-paginator>
      </td>
    </ng-container>

    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
    <tr mat-row *matRowDef="let element; columns: displayedColumns;"></tr>

    <tr mat-footer-row *matFooterRowDef="['exporter', 'paginator']"></tr>

  </table>
</div>

如您所见,我移动了 <mat-paginator> td 中的元素...但这打破了分页器,因为它不再对表格进行分页...(您看到“0 of 0”并禁用分页按钮)...当我把它放回 table 之外时元素,分页器恢复正常...

如何正确地将分页器放在页脚行内?

最佳答案

最后,我用了一个工具栏,如果有人有同样的问题:

  </table>

  <mat-toolbar>
    <mat-toolbar-row>
      <mat-icon (click)="exportCsv(dataSource)" title="Export as CSV">save_alt</mat-icon>
      <span class="example-spacer"></span>
      <mat-paginator class="paginator" [pageSizeOptions]="[5, 10, 20]"></mat-paginator>
    </mat-toolbar-row>
  </mat-toolbar>

</div>

这给了: enter image description here

关于angular - 在 Material 表页脚中包含按钮和分页器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52315739/

相关文章:

mysql - "Inverse"限制?

css - ng-deep 导致 Angular 中的 mat-select 出现问题

angular - 如何在 mat-label 上显示 matTooltip,并在 mat-form-field 中显示很棒的字体图标

angularjs - 降级 Angular js 的所有 Angular 组件的优雅方法

node.js - 在客户端和服务器 Mongoose 模型之间共享 typescript 接口(interface)

javascript - 用 Observable 替换 Angular Reactive Form 中的 setTimeout()

javascript - 单击时 Angular Material md-datepicker 抛出错误

css - 通过 css winch 查找元素未使用 Protractor Angular 激活

c# - 判断结果是否多于请求(分页)的最佳方法?

javascript - 分页中的计算(显示总数 n 中的 n 到 n)