尝试将angularRendererFramework(v13.1.2)与angular2一起使用,但却收到此错误:
ProductComponentComponent.html:7错误错误:找不到[object Object]的组件工厂。你有没有把它添加到@ NgModule.entryComponents? 在noComponentFactoryError(core.es5.js:3202)
ag-grid v13.1.2中是否不支持cellRendererFramework?还是有其他问题。
之前已经提出类似的问题,但没有找到任何有用的答案。请帮忙解决这个问题。提前谢谢。
答案 0 :(得分:1)
我将组件添加到@NgModule的entryComponents中,正如错误消息所指向的那样。例如......
@NgModule({
imports: [
CommonModule,
SharedModule,
...
],
declarations: [
...
myRendererComponent,
...
],
providers: [
...
],
entryComponents: [
myRendererComponent
]
答案 1 :(得分:1)
这就是我所做的。 (版本19.1.1)。
在app.module.ts
中,以AgGridModule.withComponents
的格式导入您的渲染器
@NgModule({
declarations: [
AppComponent
],
imports: [
...
AgGridModule.withComponents([
ActionRendererComponent,
YesnoRendererComponent,
StatusRendererComponent
])
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
答案 2 :(得分:0)
可能有点迟了但我在遇到同样的问题时最终到了这里。 以下是我在网格选项中修复它的方法:
this.gridOptions = <GridOptions>{
...
frameworkComponents: {
"checkboxRenderer": CheckboxCellRendererComponent
}
}
然后在列defs:
{
field: "present",
headerName: "User was present",
cellRenderer: "checkboxRenderer"
}
答案 3 :(得分:0)
如果以上两个解决方案都不起作用,那么当您从服务器加载数据时,很可能是将string
传递给ComponentFactoryResolver
,但它应该是组件类型。
检查此网址:Stack overflow
答案 4 :(得分:0)
前面的答案中提到的事情结合在一起,我通过做几件事使它起作用。
在模块定义中,为declarations
和entryComponents
添加渲染器。
```
declarations: [ReportHyperlinkCellRenderer],
entryComponents: [ReportHyperlinkCellRenderer],
```
将您的GridOptions
定义为
```
{
frameworkComponents: {
"hyperlinkRenderer": ReportHyperlinkCellRenderer
}
}
```
此后,您的ColDef
就可以简单地成为
```
{
cellRenderer: "hyperlinkRenderer"
}
```