如何使用 Angular 中的界面创建表单组
How to create a Formgroup using an interface in Angular
我刚开始提问,请谅解。
我有 USERS
界面
interface USERS {
id: Number;
name: String;
username: String;
email: String;
}
并且我想创建一个表单生成器,它(如果可能)会自动生成所需的属性。
例如
registrationForm = this.fb.group({
userName: ['', [Validators.required, Validators.minLength(3), forbiddenNameValidator]],
id: [''],
name: [''],
email: [''],
有什么方法可以实现这种情况吗?
我想创建更大的界面,我不想手动放置必要的属性
这是Angular中的一个open question,以后会默认实现的方式。现在我们可以做的来验证表单是:
export type IForm<T> = {
[K in keyof T]?: any;
}
interface User {
readonly id: number;
readonly name: string;
readonly username: string;
readonly email: string;
}
var form: IForm<User> = {
id: [''],
name: [''],
username: [''],
email: [''],
};
this.form = this.fb.group(form);
有了这个实现,它至少会在界面和表单不匹配时抛出一个错误。
祝好!
我刚开始提问,请谅解。 我有 USERS
界面interface USERS {
id: Number;
name: String;
username: String;
email: String;
}
并且我想创建一个表单生成器,它(如果可能)会自动生成所需的属性。 例如
registrationForm = this.fb.group({
userName: ['', [Validators.required, Validators.minLength(3), forbiddenNameValidator]],
id: [''],
name: [''],
email: [''],
有什么方法可以实现这种情况吗? 我想创建更大的界面,我不想手动放置必要的属性
这是Angular中的一个open question,以后会默认实现的方式。现在我们可以做的来验证表单是:
export type IForm<T> = {
[K in keyof T]?: any;
}
interface User {
readonly id: number;
readonly name: string;
readonly username: string;
readonly email: string;
}
var form: IForm<User> = {
id: [''],
name: [''],
username: [''],
email: [''],
};
this.form = this.fb.group(form);
有了这个实现,它至少会在界面和表单不匹配时抛出一个错误。 祝好!