錯誤:參數類型'AdvformBaseComponent(advform/base.dart)'不能被分配給參數類型'AdvformBaseComponent(advform/base.dart)'。分析器警告參數類型本身不可以
分析儀警告參數類型不能AdvformBaseComponent,但功能期待的是確切類作爲參數:
void addControl(AdvformBaseComponent baseComponent, String fieldName);
以下片段是AdvformBaseComponent的ngOnInit內。
objector.addControl(this, name);
它只是隱藏了,如果我做了 「的AddControl(此爲動態」 的警告,但就是這樣哈克和非高性能...
SDK 1.22.1
編輯:
AdvformBaseComponent是一個抽象類,它是由其他組件實現的,它本質上是一個表單組件的基類。
Th e AdvformObjectComponent是基於AdvformBaseComponent的組件的面板組。任何AdvformBaseComponent都必須有一個AdvformObjectComponent的父類。
他們在同一個項目和相同的目錄。
我可以共享這些文件,如果你覺得它有用,它們總是瀏覽器組件。
abstract class AdvformBaseComponent implements OnInit, AfterViewInit,
OnDestroy {
AdvformObjectComponent objector;
AdvformBaseComponent(this.objector, @Optional() this._submitter, this.translator, @Optional() this._group) {
if (objector == null)
throw new Exception(
'Advform inputs must have a advform-object as parent.');
}
}
class AdvformObjectComponent implements OnInit {
void addControl(AdvformBaseComponent baseComponent, String fieldName) {
...
}
}
什麼是'objector'後停止。你能提供更多的代碼嗎? –
這不能工作。如果你首先需要一個實例能夠創建一個實例,你將如何創建一個'AdvformBaseComponent'(或者子類),因爲它需要作爲構造器參數。你如何提供'AdvformObjectComponent'? –
它目前正在運行,問題只是分析器。我需要基礎組件內的反對者,因爲反對者是html內的父節點。它基本上只是一個面板。我無法看到這裏的複雜程度= \ – Jonathan