【发布时间】:2018-12-29 10:38:57
【问题描述】:
我正在尝试使用动态列启用多选选项。虽然动态列正在工作,但多选不起作用。
问候
jcm
<mat-table [dataSource]="dataSource" matSort="matSort">
<ng-container [matColumnDef]="col.columnDef" *ngFor=" let col of displayColumns">
<th mat-header-cell *matHeaderCellDef mat-sort-header>
{{ col.header }}
<ng-container [matColumnDef]="select">
<th mat-header-cell *matHeaderCellDef>
<mat-checkbox #checkbox (change)="$event ? masterToggle() : null" [disabled]="isDisabled" [checked]="selectionTable.hasValue() && isAllSelected()"
[indeterminate]="selectionTable.hasValue() &&
!isAllSelected()"></mat-checkbox>
</th>
</ng-container>
</th>
<td mat-cell *matCellDef="let element ">{{ element[col.columnDef] }}</td>
<td mat-cell *matCellDef="let row">
<mat-checkbox (click)="$event.stopPropagation()" (change)="$event ? selectionTable.toggle(row) : null" [checked]="selectionTable.isSelected(row)"></mat-checkbox>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="columnDefs"></tr>
<tr mat-row *matRowDef="let row; columns: columnDefs; "></tr>
</mat-table>
【问题讨论】:
-
好吧,我已经检查过了,这也是我已经完成的工作,但问题是当动态添加列时我无法使其工作(即多选复选框) . :(
-
你能提供 StackBlitz 吗?
-
如果你准备好解释一下就更好了 - 当动态添加列时
-
这个 mat-table 组件是 StudentList 和 EmployeeList 组件的子组件。使用@ViewChild,设置了“displayColumns”和“columnDefs”。 StudentList 和 EmployeeList 实现了一个通用接口,比如...ListBase。我正在尝试创建一个堆栈闪电战……需要一些时间。我已经粘贴了上面的代码sn-p。
标签: angular-material