Angular 如何为formControl添加元数据?
我有一个表单数组Angular 如何为formControl添加元数据?,angular,angular5,angular8,Angular,Angular5,Angular8,我有一个表单数组FormGroup let forms = [this.form1, this.form2]; 每个表单都有几个控件:FormControl 如何向FormControl添加附加数据,例如元素类型(输入、文本区域、选择) 例如,我有以下表格: export class ProfileEditorComponent { profileForm = this.fb.group({ firstName: [''], lastName: [''], addr
FormGroup
let forms = [this.form1, this.form2];
每个表单都有几个控件:FormControl
如何向FormControl
添加附加数据,例如元素类型(输入、文本区域、选择)
例如,我有以下表格:
export class ProfileEditorComponent {
profileForm = this.fb.group({
firstName: [''],
lastName: [''],
address: this.fb.group({
street: [''],
city: [''],
state: [''],
zip: ['']
}),
});
我怎么知道zip字段下应该是input
或select
如何在带有嵌套表单的模板中迭代
profileForm
?在编辑问题之前回答
更新
如下所述称为模块扩充,或
这允许从第三方模块扩充(例如添加方法和属性)类
原创
我们需要一个警告验证器,这不是angular提供的。
我们在typings.d.ts
文件中做了如下操作,该文件必须位于我们的应用程序根目录中
declare module '@angular/forms' {
export interface AbstractControl {
warnings: ValidationErrors | null;
}
}
ValidationErrors
是我们的自定义类
你可以这样做
declare module '@angular/forms' {
export interface AbstractControl {
elementType: string; // input, textarea, select
}
}
这样,应用程序中所有的AbstractControls
属性elementType
都将可用
您也可以使用
FormControl
而不是AbstractControl
您能提供一个示例吗?如何将此应用于现有表单?您不会将其直接应用于您的表单。应用程序中的每个FormControl
都会自动具有此新定义的属性elementType