ngFor angular

时间:2018-10-17 08:48:24

标签: html angular ngfor

我有一个关于角度激活按钮的查询。方案是:在应用程序列表中,如果用户选择一个应用程序并单击“打开频道”,则应停用其他应用程序。请查看我的HTML

   <mat-expansion-panel *ngFor="let a of apps">
    <mat-expansion-panel-header>

      <mat-panel-title>
        {{a.name}}
      </mat-panel-title>

      <mat-panel-description>
        {{a.info}}
      </mat-panel-description>

      <mat-panel-description>
        <button mat-raised-button color="primary" (click)="clickedConnect(a.name, a._id)">Open Channel</button>

      </mat-panel-description>

      <mat-panel-description>
        <button mat-raised-button color="primary" (click)="clickedDisconnect(a._id)">Close Channel</button>
      </mat-panel-description>

      <mat-panel-description>
        <mat-chip-list>

          <mat-chip *ngIf="isAppActive(a._id)==true" style="background: green;" selected>Openned</mat-chip>
          <mat-chip *ngIf="isAppActive(a._id)==false" style="background: red;" selected>Closed</mat-chip>

        </mat-chip-list>**strong text**
      </mat-panel-description>

    </mat-expansion-panel-header>

  </mat-expansion-panel>

1 个答案:

答案 0 :(得分:0)

  1. 创建一个名为 selectedId
  2. 的变量
  3. 在打开频道的按钮单击上,将单击的应用程序ID分配给selectedId
  4. 要启用所有应用程序时,将 selectedId设置为null。
<ng-container *ngFor="let a of apps">
<mat-expansion-panel [disabled]="selectedId && a._id != selectedId ">
// rest of the content
</mat-expansion-panel>
</ng-container>

希望这就是您要的。