Как создать динамический компонент в качестве параметра - угловая agGrid cellEditorFramework - PullRequest
0 голосов
/ 25 сентября 2018

Не уверен, имеет ли это значение, но я использую agGrid, но в основном он создает динамический компонент в качестве параметра.Это прекрасно работает как мои GridOptions:

...
children: [
    ...
    cellEditorFramework: SelectCellComponent,
    ...
]
...

, но что если я хочу сделать условный редактор?Примерно так:

...
children: [
    ...
    cellEditorFramework: (params) => {
        return params.type === 'Select' ? SelectCellComponent : TextCellComponent
    },
    ...
]
...

но это выдает ошибку:

Не найдена фабрика компонентов для функции (params) {.Вы добавили его в @ NgModule.entryComponents?

Есть ли способ сделать это?

angular 4.4.6 agGrid 17.1.1

1 Ответ

0 голосов
/ 06 октября 2018

Вы можете создать угловой элемент обтекания

SelectOrTextWrapperComponent

...
children: [
    ...
    cellEditorFramework: SelectOrTextWrapperComponent,
    ...
]
...

А внутри во время выполнения решить, что отображать - выбрать или текст

<select-cell *ngIf="params.type == 'select'"></select-cell>
<text-cell *ngIf="params.type != 'select'"></text-cell>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...