Компонент рендеринга ag-grid, использующий cellRendererFramework, выдает ошибку

Я пытаюсь отобразить компонент с помощью ag-grid, но получаю эту ошибку:

core.js: 15713 ОШИБКА Ошибка: для SquareRenderer не найдена фабрика компонентов. Вы добавили его в @NgModule.entryComponents? в noComponentFactoryError (core.js:9875)

table.module.ts

@NgModule({
    declarations: [SquareRenderer, ...containers, ...components],
    imports: [
    ...
        AgGridModule.withComponents([SquareRenderer]),
        ...
    ],
    entryComponents: [SquareRenderer],
    exports: [],
    providers: []
})
export class TableModule {}

таблица-component.ts

columnDefs = [
{
    headerName: '',
    children: [
      {
        headerName: 'Farm/Field',
        field: 'farm',
        width: 183,
        lockPosition: true,
        cellRendererFramework: 'squareRenderer'
        },
        ...
]
frameworkComponents = {
  squareRenderer: SquareRenderer
  };
}

HTML

<ag-grid-angular
        #agGrid
        style="width: 100%; height: 100%"
        class="ag-theme-balham"
        [columnDefs]="columnDefs"
        [defaultColDef]="defaultColDef"
        (gridReady)="onGridReady($event)"
        [cacheBlockSize]="cacheBlockSize"
        [infiniteInitialRowCount]="infiniteInitialRowCount"
        [rowModelType]="'infinite'"
        [maxBlocksInCache]="maxBlocksInCache"
        [frameworkComponents]="frameworkComponents"
        >
      </ag-grid-angular>

Почему я получаю это сообщение? Что я делаю не так?


person Itai    schedule 25.02.2019    source источник
comment
все выглядит нормально, можете ли вы создать stackblitz с вашей проблемой?   -  person Ludevik    schedule 25.02.2019


Ответы (1)


Перейдите к своим модулям Angular и добавьте это в импорт.

AgGridModule.withComponents([
  SquareRenderer
]),

и импортировать

import { AgGridModule } from 'ag-grid-angular';
person Ghanima    schedule 25.02.2019