如何渲染没有标题行的 Angular 9 mat-table?

sat*_*ish 16 html-table angular mat-table angular9

我正在使用 Angular 9。如何构造一个没有表头行(th)的 mat-table?听起来很傻,但如果我这样做

\n
<table mat-table *ngIf="isMobile" #mobile_table [dataSource]="dataSource">\n  <ng-container matColumnDef="item">\n    <td mat-cell *matCellDef="let item_stat">\n      <div class="smallHeading">\n        {{ item_stat.max_date }} m\n      </div>\n      <div class="mainRow divider">\n        <a href="{{ item_stat.mobile_path }}">{{ item_stat.title }}</a> \xc2\xb7\n        {{ getScore(item_stat) }}\n      </div>\n    </td>\n  </ng-container>\n\n  <tr mat-header-row *matHeaderRowDef="mobileDisplayedColumns"></tr>\n  <tr mat-row *matRowDef="let row; columns: mobileDisplayedColumns;" [ngClass]="getRowClass(row)"></tr>\n</table>\n
Run Code Online (Sandbox Code Playgroud)\n

它产生错误

\n
ERROR TypeError: Cannot read property 'template' of undefined\n    at MatHeaderRowDef.extractCellTemplate (table.js:567)\n    at table.js:2522\n    at Function.from (<anonymous>)\n    at MatTable._getCellTemplates (table.js:2512)\n    at MatTable._renderRow (table.js:2467)\n    at table.js:2326\n    at Array.forEach (<anonymous>)\n    at MatTable._forceRenderHeaderRows (table.js:2321)\n    at MatTable.ngAfterContentChecked (table.js:1800)\n    at callHook (core.js:4730)\n
Run Code Online (Sandbox Code Playgroud)\n

我必须添加

\n
<th mat-header-cell *matHeaderCellDef></th>\n
Run Code Online (Sandbox Code Playgroud)\n

使表格正确呈现。这似乎没有必要,因为我不想为我的表格添加标题行。如何构建我的垫子表以便不需要这样做?

\n

小智 20

您只需删除标题行 mat-h​​eader-row

<tr mat-header-row *matHeaderRowDef="mobileDisplayedColumns"></tr>
Run Code Online (Sandbox Code Playgroud)

对我来说效果很好。


小智 5

只需删除这一行:

<tr mat-header-row *matHeaderRowDef="mobileDisplayedColumns"></tr>
Run Code Online (Sandbox Code Playgroud)