列未显示 - mat-table

Chr*_*ips 2 html typescript angular-material angular mat-table

我正在尝试将行删除添加到我的<mat-table>. 表格的大部分工作正常,但复选框列未显示。以前,代码不包含该<!-- Checkbox/Selection Column -->部分。我在使用 angular.material.io 上的示例之一时添加了它。

我有点困惑,因为在我看来,模式应该是<th>&<td>包裹在<ng-container>. 我似乎在这里遗漏了一些东西,因为复选框/选择列没有显示,浏览器控制台中没有任何错误,并且ng servepowershell 中没有抛出任何错误。

<table mat-table [dataSource]="dataSource" matSort>

    <!-- Checkbox/Selection Column -->
    <ng-container matColumnDef="select">
        <th mat-header-cell *matHeaderCellDef>
            <mat-checkbox [checked]="false" [aria-label]="checkboxLabel()">
            </mat-checkbox>
        </th>
        <td mat-cell *matCellDef="let row">
            <mat-checkbox [checked]="true"></mat-checkbox>
        </td>
    </ng-container>

    <!-- Working Columns -->
    <ng-container *ngFor="let field of Fields" matColumnDef="{{field.name}}">
        <th class="w-134" mat-header-cell *matHeaderCellDef mat-sort-header>{{field.name}}</th>
        <td class="w-130" mat-cell *matCellDef="let row">
            <input *ngIf="field.editType == 'free'" matInput [(ngModel)]="row[field.name]" placeholder="{{row[field.name]}}" required>
            <mat-select *ngIf="field.editType == 'spinner'" [(ngModel)]="row[field.name]">
                <mat-option *ngFor="let option of field.options" [value]="option">{{option}}</mat-option>
            </mat-select>
            <div class="checkbox-cell" (click)="toggleBoolean(row, field.name)">
                <mat-checkbox *ngIf="field.editType == 'checkbox'" [(ngModel)]="row[field.name]" (click)="toggleBoolean(row, field.name)"></mat-checkbox>
            </div>
        </td>
    </ng-container>

    <tr mat-header-row *matHeaderRowDef="ColumnHeaders"></tr>
    <tr mat-row *matRowDef="let row; columns: ColumnHeaders;"></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

Jas*_*ngh 5

似乎您没有在 TS 文件内的 ColumnHeaders 数组中添加该列。

ColumnHeaders = ['select'] //ColumnHeaders should have an entry of select(your checkbox column defintion)