2

我正在尝试创建一个带有一些附加属性的 FormControl 子类,然后可以在我的自定义表单控件中使用这些属性来更改行为。

我尝试如下从 FormControl(比如 StandardFormControl)继承并用于创建表单组,但是当我在指令/其他任何地方访问 formcontrol 时,我没有获得子类表单控件的属性。

class StandardFormControl extends FormControl{
   customProperty: string
}

表单组创建如下

new FormGroup({
  firstName: new StandardFormControl('',[])
});

有人有什么想法吗?

4

2 回答 2

3

据我所知,您必须对表单控件进行类型转换:

// first create the form group and store it in a variable:
const formGroup = new FormGroup({
  firstName: new StandardFormControl('',[])
});

// then you can access its controls:
(formGroup.get('firstName') as StandardFormControl).customProperty = 'customValue';
于 2017-10-25T16:48:44.633 回答
1

您必须在构造函数中调用 super() 才能继承父类。

class StandardFormControl extends FormControl{

    customProperty: string

    constructor() {
       super();
    }    
}
于 2019-02-04T12:45:02.880 回答