angular 8.1.3 和 primeng 8.0.2 更新后 PrimeNg 行不会扩展
PrimeNg rows doesn't expand after update on angular 8.1.3 and primeng 8.0.2
我已将我的 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;
});
}
我在 td 标签中使用了 colspan,如下所示:
<ng-template pTemplate="rowexpansion" let-plan>
<tr>
<td colspan="6">
<p-tabView>
其中 6 是列数。
问题是这段代码:
private setAllJahrgaengeExpanded(): void {
this.regelklassenJahrgaenge.forEach((jahrgang: RegelklassenJahrgangForm) => {
this.expandedJahrgaenge[jahrgang.jahrgangName] = 1;
});
}
这里说填1,数字代表true。
我需要更新此代码:
private setAllJahrgaengeExpanded(): void {
this.regelklassenJahrgaenge.forEach((jahrgang: RegelklassenJahrgangForm) => {
this.expandedJahrgaenge[jahrgang.jahrgangName] = true;
});
}
数字 1 现在 true。
现在可以了。
我已将我的 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;
});
}
我在 td 标签中使用了 colspan,如下所示:
<ng-template pTemplate="rowexpansion" let-plan>
<tr>
<td colspan="6">
<p-tabView>
其中 6 是列数。
问题是这段代码:
private setAllJahrgaengeExpanded(): void {
this.regelklassenJahrgaenge.forEach((jahrgang: RegelklassenJahrgangForm) => {
this.expandedJahrgaenge[jahrgang.jahrgangName] = 1;
});
}
这里说填1,数字代表true。 我需要更新此代码:
private setAllJahrgaengeExpanded(): void {
this.regelklassenJahrgaenge.forEach((jahrgang: RegelklassenJahrgangForm) => {
this.expandedJahrgaenge[jahrgang.jahrgangName] = true;
});
}
数字 1 现在 true。 现在可以了。