您好,我按照粘性标头行https://material.angular.io/components/table/overview#sticky-rows-and-columns的角度材料文档示例 但不要为我工作 这是我的html代码
<div class="content mat-white-bg">
<mat-table #table [dataSource]="dataSource"
matSort matSortDirection="asc" matSortDisableClear>
<ng-container matColumnDef="Code">
<mat-header-cell *matHeaderCellDef mat-sort-header>
<mat-form-field>
<input matInput (keyup)="applyFilter($event.target.value)" placeholder="{{'Kodi' | translate}}">
</mat-form-field>
<button (click)="sortTable($event.target.value)" mat-button class="mat-icon-button ">
<mat-icon>sort</mat-icon>
</button>
</mat-header-cell>
<mat-cell *matCellDef="let client">
<p class="text-truncate ">
{{client.Code}}
</p>
</mat-cell>
</ng-container>
<ng-container matColumnDef="FirstName">
<mat-header-cell *matHeaderCellDef mat-sort-header>
<mat-form-field>
<input matInput (keyup)="applyFilter($event.target.value)" placeholder="{{'Emri' | translate}}">
</mat-form-field>
<button (click)="sortTable($event.target.value)" mat-button class="mat-icon-button">
<mat-icon>sort</mat-icon>
</button>
</mat-header-cell>
<mat-cell *matCellDef="let client">
<p class="text-truncate ">
{{client.FirstName}}
</p>
</mat-cell>
</ng-container>
<ng-container matColumnDef="Address">
<mat-header-cell *matHeaderCellDef mat-sort-header>
<mat-form-field>
<input matInput (keyup)="applyFilter($event.target.value)" placeholder="{{'Adresa' | translate}}">
</mat-form-field>
<button (click)="sortTable($event.target.value)" mat-button class="mat-icon-button">
<mat-icon>sort</mat-icon>
</button>
</mat-header-cell>
<mat-cell *matCellDef="let client" fxHide fxShow.gt-sm>
<p class="text-truncate ">
{{client.Address}}
</p>
</mat-cell>
</ng-container>
<ng-container matColumnDef="City">
<mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm>
<mat-form-field>
<input matInput (keyup)="applyFilter($event.target.value)" placeholder="{{'Qyteti' | translate}}">
</mat-form-field>
<button (click)="sortTable()" mat-button class="mat-icon-button ">
<mat-icon>sort</mat-icon>
</button>
</mat-header-cell>
<mat-cell *matCellDef="let client" fxHide fxShow.gt-sm>
<p class="text-truncate ">
{{client.City}}
</p>
</mat-cell>
</ng-container>
<ng-container matColumnDef="Email">
<mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm>
<mat-form-field>
<input matInput (keyup)="applyFilter($event.target.value)" placeholder="Email">
</mat-form-field>
<button (click)="sortTable()" mat-button class="mat-icon-button">
<mat-icon>sort</mat-icon>
</button>
</mat-header-cell>
<mat-cell *matCellDef="let client" fxHide fxShow.gt-sm>
<p class="email text-truncate">
{{client.Email}}
</p>
</mat-cell>
</ng-container>
<ng-container matColumnDef="Tel">
<mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm>
<mat-form-field>
<input matInput (keyup)="applyFilter($event.target.value)" placeholder="Tel">
</mat-form-field>
<button (click)="sortTable()" mat-button class="mat-icon-button ">
<mat-icon>sort</mat-icon>
</button>
</mat-header-cell>
<mat-cell *matCellDef="let client" fxHide fxShow.gt-sm>
{{client.Tel}}
</mat-cell>
</ng-container>
<mat-header-row *matHeaderRowDef="displayedColumns; sticky: true"></mat-header-row>
<mat-row *matRowDef="let client; columns: displayedColumns;"
class="client"></mat-row>
</mat-table>
</div>
我已将sticky设置为true(如示例),但出现错误无法绑定到“ matHeaderRowDefSticky”,因为它不是“ mat-header-row”的已知属性
答案 0 :(得分:0)
sticky
属性在6.3.0版本中引入。您可以升级@angular/material
和@angular/cdk
来解决问题
选中此Github issue
答案 1 :(得分:0)
如果您无法将@angular/material
升级到新版本,这是一个简单的css实现,我已经使用它来获取@angular/material
版本5.1.0
中的粘性标头行:
.mat-header-row--sticky {
position: sticky;
top: 0;
background: inherit;
z-index: 100;
}
然后在模板中将类mat-header-row--sticky
添加到mat-header-row
元素:
<mat-header-row *matHeaderRowDef="displayedColumns" class="mat-header-row--sticky"></mat-header-row>
StackBlitz演示:https://stackblitz.com/edit/angular-62cpzh