gpt4 book ai didi

angular - 如何为 formControl 添加元数据?

转载 作者:行者123 更新时间:2023-12-05 05:07:54 25 4
gpt4 key购买 nike

我有表单数组 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

最佳答案

在问题编辑前回答

更新

如下所述称为模块扩充 here in the official documentation

这允许从第三方模块扩充(例如添加方法 pr 属性)类

原创

我们需要有一个 angular 没有提供的警告验证器。我们所做的是我们的 typings.d.ts 文件中的以下内容,该文件必须驻留在我们的应用程序根目录中。

import { AbstractControl } from '@angular/forms';

declare module '@angular/forms' {

export interface AbstractControl {
warnings: ValidationErrors | null;
}
}

AbstractControl.prototype.warnings = ''; //add a default value instead of ''

ValidationErrors 是我们的自定义类。

你可以做类似的事情

declare module '@angular/forms' {

export interface AbstractControl {
elementType: string; // input, textarea, select
}
}

有了它,您应用程序中的所有 AbstractControls 都将拥有可用的属性 elementType

你也可以使用 FormControl 而不是 AbstractControl

关于angular - 如何为 formControl 添加元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58731610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com