【发布时间】:2019-08-12 20:53:59
【问题描述】:
我已将我的 Angular 应用程序更新为新版本(anugular 8.1.3 和 PrimeNg 8.0.2)。除了我的 PrimeNg p-table 中的扩展行之外,所有东西都正常工作。
我试图按照primeng https://www.primefaces.org/primeng/#/table/rowexpansion的例子 但这似乎没有帮助。我想要的是,在默认加载数据后,行应该扩展。
<p-table [value]="regelklassenJahrgaenge" dataKey="jahrgangName" [expandedRowKeys]="expandedJahrgaenge">
<ng-template pTemplate="header">
<tr class="header">
<th class="legend-cell name-column">Klassenname</th>
<th class="legend-cell">Anzahl Schüler</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-jahrgang let-expanded="expanded">
<tr>
<td class="expandable-cell" colspan="12">
<a href="#" class="expandable-link" [pRowToggler]="jahrgang">
<mat-icon *ngIf="expanded">expand_less</mat-icon>
<mat-icon *ngIf="!expanded">expand_more</mat-icon>
{{jahrgang.jahrgangName}}
</a>
</td>
</tr>
</ng-template>
<ng-template pTemplate="rowexpansion" let-jahrgang>
<tr *ngFor="let klasse of jahrgang.klassen; first as isFirst, index as i" [formGroup]="klasse.formValues">
<!-- Klassenname -->
<td class="legend-cell"> {{klasse.klassenname}} </td>
<!-- Anzahl Schüler in Klasse -->
<td class="edit-cell" first>
Test
</td>
</ng-template>
</p-table>
export class RegelklasseTableComponent implements OnChanges {
@Input() regelklassenJahrgaenge: RegelklassenJahrgangForm[];
expandedJahrgaenge: { [key: string]: number } = {};
ngOnChanges(changes: SimpleChanges): void {
if (this.regelklassenJahrgaenge) {
this.setAllJahrgaengeExpanded();
}
}
private setAllJahrgaengeExpanded(): void {
this.regelklassenJahrgaenge.forEach((jahrgang: RegelklassenJahrgangForm) => {
this.expandedJahrgaenge[jahrgang.jahrgangName] = 1;
});
}
【问题讨论】: