如何修复垫分页器大小

gau*_*uri 4 css angular

对于mat-table分页,没有灵活性sticky-table。在移动后的分页中,没有css应用(如图所示)。我试图提供背景颜色,但它不起作用。参考此代码: https://stackblitz.com/angular/bbmgqanjelq ?file=app%2Ftable-sticky-columns-example.css

在此输入图像描述

![在此输入图像描述

.mat-paginator{
    background-color: brown;
    color: gold;
    font-size: 1rem;
}

.mat-header-cell{
    font-size: 1rem;
    background-color: brown;
    color: gold;
  }
.example-container {
  height: 460px;
  width: 550px;
  overflow: auto;
}
table {
  width: 800px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="example-container mat-elevation-z8">
  <table mat-table [dataSource]="dataSource">

    <!-- Name Column -->
    <ng-container matColumnDef="name" sticky>
      <th mat-header-cell *matHeaderCellDef> Name </th>
      <td mat-cell *matCellDef="let element"> {{element.name}} </td>
    </ng-container>

    <!-- Position Column -->
    <ng-container matColumnDef="position">
      <th mat-header-cell *matHeaderCellDef> No. </th>
      <td mat-cell *matCellDef="let element"> {{element.position}} </td>
    </ng-container>

    <!-- Weight Column -->
    <ng-container matColumnDef="weight">
      <th mat-header-cell *matHeaderCellDef> Weight </th>
      <td mat-cell *matCellDef="let element"> {{element.weight}} </td>
    </ng-container>

<!-- Star Column -->
    <ng-container matColumnDef="star" stickyEnd>
      <th mat-header-cell *matHeaderCellDef></th>
      <td mat-cell *matCellDef="let element">
        <mat-icon>more_vert</mat-icon>
      </td>
    </ng-container>

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

<mat-paginator [length]="50" [pageSizeOptions]="[10, 20, 30]" showFirstLastButtons>
</mat-paginator>
</div>
Run Code Online (Sandbox Code Playgroud)

如果我们移动表格分页器应该看起来和以前一样。

小智 6

好吧,我添加另一个答案,因为这个答案与前一个答案完全不同。

您可以使用 Angular 渲染器以及视图子级来将分页器的大小增加到表格的大小。

这是 stackblitz 演示:https://stackblitz.com/edit/angular-mxdsdk-d2b7xa ?file=app/table-sticky-columns-example.ts

如您所见,分页器获取表格的总大小并显示在右侧。不确定您是否需要它,但它为您提供了一种新的使用方式。

 <table mat-table [dataSource]="dataSource" #table>
 ...
 <mat-paginator sticky #paginator></mat-paginator>
Run Code Online (Sandbox Code Playgroud)
 <table mat-table [dataSource]="dataSource" #table>
 ...
 <mat-paginator sticky #paginator></mat-paginator>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


小智 6

我遇到了同样的问题,但得到了解决。

将 mat-paginator 放置在 的容器 div 之外,那么这个分页宽度问题一开始就不会出现。滚动仅适用于表数据本身,不适用于分页。