我需要扩展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的所有默认参数。
有人能帮我吗?
发布于 2020-02-25 23:56:44
似乎在他们的支持中心已经有了关于这方面的公开讨论:
你可以在这里找到一个演示:
http://embed.plnkr.co/rCAGIkRdnJaXKiZqrA7L/
基本上,你的构造函数应该注入所有需要的参数,这些参数稍后应该传递给super()调用,例如:
constructor(
private eRef: ElementRef,
ngZone: NgZone,
private templateHost: DxTemplateHost,
private _watcherHelper: WatcherHelper
)
{
super(eRef, ngZone, templateHost, _watcherHelper);
}https://stackoverflow.com/questions/60397187
复制相似问题