Angular CLI: 9.0.7
Node: 12.16.2
OS: darwin x64
Angular: 9.0.7
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes
Package Version
------------------------------------------------------------
@angular-devkit/architect 0.900.7
@angular-devkit/build-angular 0.900.7
@angular-devkit/build-optimizer 0.900.7
@angular-devkit/build-webpack 0.900.7
@angular-devkit/core 9.0.7
@angular-devkit/schematics 9.0.7
@angular/cdk 9.2.0
@angular/fire 6.0.0
@angular/material 9.2.0
@angular/material-moment-adapter 9.2.0
@ngtools/webpack 9.0.7
@schematics/angular 9.0.7
@schematics/update 0.900.7
rxjs 6.5.5
typescript 3.7.5
webpack 4.41.2
直接使用选择器.尝试启用材料表(mat-table)的粘头功能。
例如
<div class="scanlist-container">
<mat-table [dataSource]="dataItems">
<ng-container matColumnDef="techColumn1">
<mat-header-cell *matHeaderCellDef>Technical Column</mat-header-cell>
<mat-cell *matCellDef="let dataItem">{{ dataItem.tech }}</mat-cell>
</ng-container>
<mat-header-row *matHeaderRowDef="columnsToDisplay; sticky: true"></mat-header-row>
<mat-row *matRowDef="let row; columns: columnsToDisplay;"></mat-row>
</mat-table>
</div>
console.log错误。
不能绑定到'matHeaderRowDefPosition',因为它不是'mat-header-row'的已知属性。
我解决了这个问题,有两种可能的解决方案。
把@angularcdk从9.2.0升级到9.2.2版本。
将angular material选择器替换为HTML选择器,即用HTML选择器来替代
<mat-table> --> <table mat-table>
<mat-header-cell> --> <th mat-header-cell>
<mat-cell> --> <td mat-cell>
上面的示例代码,改变了HTML元素。
<div class="scanlist-container">
<table mat-table [dataSource]="dataItems">
<ng-container matColumnDef="techColumn1">
<th mat-header-cell *matHeaderCellDef>Technical Column</th>
<td mat-cell *matCellDef="let dataItem">{{ dataItem.tech }}</td>
</ng-container>
<th mat-header-row *matHeaderRowDef="columnsToDisplay; sticky: true"></th>
<th mat-row *matRowDef="let row; columns: columnsToDisplay;"></th>
</table>
</div>