Angular 8 - расширение таблицы данных библиотеки Dev Express - PullRequest
0 голосов
/ 25 февраля 2020

Мне нужно расширить DxDataGridComponent, но я не могу понять, как он работает.

Прежде всего я расширю DxDataGridComponent:

import { Component } from '@angular/core';
import { DxDataGridComponent } from 'devextreme-angular/ui/data-grid';

@Component({
  selector: 'app-data-grid',
  templateUrl: './data-grid.component.html',
  styleUrls: ['./data-grid.component.scss']
})

export class DataGridComponent extends DxDataGridComponent {
  constructor(..) {
    super(..);
  }
}

Теперь я застрял, потому что этот компонент требует следующие параметры:

constructor(elementRef: ElementRef, ngZone: NgZone, templateHost: DxTemplateHost, _watcherHelper: WatcherHelper, _idh: IterableDifferHelper, optionHost: NestedOptionHost, transferState: TransferState, platformId: any);

Что мне делать? Как правильно расширить этот компонент?

Я делаю это, потому что мне нужно добавить несколько пользовательских @Input, но я хочу также все параметры по умолчанию для DxDataGridComponent.

Кто-то можете мне помочь?

1 Ответ

0 голосов
/ 25 февраля 2020

Что ж, похоже, в их Центре поддержки уже есть открытая дискуссия:

https://supportcenter.devexpress.com/Ticket/Details/T278278/is-there-a-way-to-extend-devextreme-sontrols

И здесь вы можете найти демо-версию в Plunker:

http://embed.plnkr.co/rCAGIkRdnJaXKiZqrA7L/

По сути, ваш конструктор должен внедрить все необходимые параметры, которые впоследствии должны быть переданы в вызов super(), например:

constructor(
    private eRef: ElementRef, 
    ngZone: NgZone, 
    private templateHost: DxTemplateHost, 
    private _watcherHelper: WatcherHelper
)
{
    super(eRef, ngZone, templateHost, _watcherHelper);
}
...