【问题标题】:PrimeNg rows doesn't expand after update on angular 8.1.3 and primeng 8.0.2PrimeNg 行在 angular 8.1.3 和 primeng 8.0.2 更新后不会扩展
【发布时间】: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;
        });
    }

【问题讨论】:

    标签: angular primeng angular8


    【解决方案1】:

    我在 td 标签中使用 colspan 是这样的:

    <ng-template pTemplate="rowexpansion" let-plan> <tr> <td colspan="6"> <p-tabView>

    其中 6 是列数。

    【讨论】:

      【解决方案2】:

      问题是这段代码:

      private setAllJahrgaengeExpanded(): void {
          this.regelklassenJahrgaenge.forEach((jahrgang: RegelklassenJahrgangForm) => {
              this.expandedJahrgaenge[jahrgang.jahrgangName] = 1;
          });
      }
      

      这里我们说应该填1,数字代表真。 我需要更新此代码:

      private setAllJahrgaengeExpanded(): void {
          this.regelklassenJahrgaenge.forEach((jahrgang: RegelklassenJahrgangForm) => {
              this.expandedJahrgaenge[jahrgang.jahrgangName] = true;
          });
      }
      

      数字 1 现在是 true。 现在它可以工作了。

      【讨论】:

        猜你喜欢
        • 2017-09-02
        • 1970-01-01
        • 2018-01-18
        • 2017-07-21
        • 1970-01-01
        • 2017-11-15
        • 1970-01-01
        • 1970-01-01
        • 2019-06-05
        相关资源
        最近更新 更多