在我的应用程序中,我使用的是AG网格.在其中一列中,我想使用我创建的自定义 colored颜色 管道.我使用cellRenderer来实现这一点,但我得到以下错误.下面是我的代码,我做错了什么,应该修复什么?

enter image description here

管道:

@Pipe({ name: 'ticketStateColor' })
export class TicketStateTypePipe implements PipeTransform {

    transform(state: any): string {
        if (state == 1) return 'accent';
        if (state == 2) return 'orange-800';
        if (state == 3) return 'green';
        if (state == 4) return 'orange';
        if (state == 5) return 'red';
        if (state == 6) return 'teal';
        if (state == 7) return 'accent';
        return '';
    }
}

TS:

    {
      columnGroupShow: 'open', headerName: 'Durum', field: 'TicketStateType.Name', cellRenderer: TicketStateTypePipe,
      cellRendererParams:
        `<td mat-cell *matCellDef="let row">
      <div fxLayout="column" fxLayoutAlign="center start">
          <div [ngClass]="params.data.TicketStateType?.Name | ticketStateColor" class="text-boxed mb-2">
              {{params.data?.TicketStateType?.Id}}</div>
      </div>
  </td>`
    },

推荐答案

需要将Angular 组件传递给cellRenderer属性.在该组件中,您可以在其模板中使用管道.因此,CellRenderParams中的代码将移动到如下组件中.

@Component({
  selector: 'pipe-component',
  template: ` <div>{{ params.value | ticketStateColor }}</div> `,
})
export class TicketCellRenderer implements ICellRendererAngularComp {
  public params;

  agInit(params: ICellRendererParams): void {
    this.params = params;
  }

  refresh(params: ICellRendererParams) {
    return false;
  }
}

然后在你寒冷的时候你会:

    {
      columnGroupShow: 'open', headerName: 'Durum', field: 'TicketStateType.Name', cellRenderer: TicketCellRenderer
    },

我已经设置了一个工作示例here供您扩展.

Javascript相关问答推荐

用户单击仅在JavaScript中传递一次以及其他行为

在NextJS中使用计时器循环逐个打开手风琴项目?

为什么在集内和集外会产生不同的promise 状态(使用Promise.race)?

如何提取Cypress中文本

如何在表格上拥有水平滚动条,在正文页面上拥有垂直滚动条,同时还对html表格的标题使用位置粘性?

如何分配类型脚本中具有不同/额外参数的函数类型

按钮未放置在html dis位置

单击子元素时关闭父元素(JS)

PrivateRoute不是路由组件错误

Google maps API通过API返回ZERO_RESULTS,以获得方向请求,但适用于Google maps

使用POST请求时,Req.Body为空

对网格项目进行垂直排序不起作用

更新动态数据中对象或数组中的所有值字符串

在SHINY R中的嵌套模块中,不能使用Java代码

如何在和IF语句中使用||和&;&;?

如何修复错误&语法错误:不能在纯react 项目中JEST引发的模块&之外使用导入语句?

FireBase FiRestore安全规则-嵌套对象的MapDiff

使用API调用的VUE 3键盘输入同步问题

为什么我看到的是回复,而不是我的文档?

Angel Auth Guard-用户只有在未登录时才能访问登录页面,只有在登录时才能访问其他页面