垫表内垫板上的无限循环

问题描述

我有一个如下的自定义mat-chip-list组件,并想在mat-table中使用它:

<mat-chip-list
  class="fv-stroke-chip"
  [ngClass]="{'mat-chip-list-stacked': ariaOrientation === 'vertical'}"
  (change)="onChange($event)"
  [multiple]="multiple"
  [selectable]="selectable"
>
  <mat-chip
    *ngFor="let chip of fvChips"
    [id]="chip.id"
    [selected]="chip.selected"
    [disabled]="chip.disabled"
    [disableRipple]="chip.disableRipple"
    [color]="chip.color"
    (click)="onChipClick(chip)"
  >
    {{chip.label}}
    <mat-icon *ngIf="chip.icon">{{chip.icon}}</mat-icon>
  </mat-chip>
</mat-chip-list>

我想通过fvChips。如果我将其作为变量传递,那么一切都会很好:

<fv-stroke-chip [fvChips]="alistofChip"  (chipClick)="handleChipClick($event)"></fv-stroke-chip>

但是,如果我通过使用函数得到此fvChips,则会造成无限循环:

<fv-stroke-chip [fvChips]="generateActivityButtons(activity)"  (chipClick)="handleChipClick($event)"></fv-stroke-chip>

这是ts文件,其中自定义芯片称为

  generateActivityButtons(planningActivity: PlanningActivity): ChipItem[] {
    const chipItems: ChipItem[] = [];
    console.log(planningActivity);
    const overdueInDays = this.getoverdueInDays();

    const overdueLabel = 'Overdue ' + overdueInDays;

    chipItems.push({
      label: overdueLabel,selected: true,disabled: false,color: 'accent',id: planningActivity.id + 'overdue-button'
    })

    return chipItems;
  }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)