在ag-grid angular中如何激活状态或不激活状态时如何更改图标

时间:2020-07-14 02:54:22

标签: javascript angular typescript ag-grid

HTML *

   <ng-template #actionButtons let-data="data">
      <div class="cell-actions">
        <a href="javascript:;" (click)="assign()">
          <i nz-icon nzType="user-add" nzTheme="outline"></i>
        </a>
    
        <i nz-icon nzType="user-delete" nzTheme="outline"></i>
      </div>
    </ng-template>

TS

  ngOnInit() {
    this.getData();
  }

  onGridReady(event: any) {
    this.columnDefs = this.colParser.parseConfigColumnDefs(this.columnDefs, this.actionButtons);
  }

  getData() {
    this.assets.getAll({ start: 1, length: 999, type: this.data.assetType.code }).pipe(take(1)).subscribe((res: any) => {
      res.data.map((data: any) => {
        this.row$.push({
          id: data.id,
          status: data.status
        });
      });

      this.rowData$.next(this.row$,);
    })
  }

  assign() {
    
  }

在状态为“活动”时我要在此处执行的操作将显示此<i nz-icon nzType="user-add" nzTheme="outline"></i>,但状态为“不活动”时应显示此<i nz-icon nzType="user-delete" nzTheme="outline"></i>而不是<i nz-icon nzType="user-add" nzTheme="outline"></i>

1 个答案:

答案 0 :(得分:1)

您可以在列中使用valueFormatter来根据状态显示图标:

 { headerName: 'Status', field: 'status', valueFormatter: statusFormatter }

function statusFormatter(params) {
  return params.value==='ACTIVE'? '<i nz-icon nzType="user-add" nzTheme="outline"></i>' : '<i nz-icon nzType="user-delete" nzTheme="outline"></i>';
}