Javascript 被动表单将表单值正确地转换为列表形式的模型对象
我正在尝试将提交的表单转换为对象 我一直在使用下面的帖子作为指导 但是,该示例仅适用于单个对象,而不是对象列表 我有一个Javascript 被动表单将表单值正确地转换为列表形式的模型对象,javascript,angular,Javascript,Angular,我正在尝试将提交的表单转换为对象 我一直在使用下面的帖子作为指导 但是,该示例仅适用于单个对象,而不是对象列表 我有一个人对象 person.ts export class Person { public constructor(init?: Partial<Person>) { Object.assign(this, init); } x: number; y: number; personId: number; fir
人
对象
person.ts
export class Person {
public constructor(init?: Partial<Person>) {
Object.assign(this, init);
}
x: number;
y: number;
personId: number;
firstName: string;
lastName: string;
email: string;
companyName: string;
staffCode: string;
}
public onSubmit(): void {
const data: any = this.approvalEditFormGroup.value;
console.log(data);
this.person = new Person(this.approvalEditFormGroup.value);
console.log(this.person);
}
结果:
问题
如何将this.approvalEditFormGroup.value
转换为人员列表(人员[]
)
您只需要映射表单值,并在表单值中的每个项上创建Person类的新实例
像这样的
const data: any = this.approvalEditFormGroup.value;
persons: Person[] = Object.keys(data).map(key => new Person(data[key]));
表单值是否根据屏幕截图中的第一个对象返回人员数组?是的,屏幕截图是approval-edit.component.ts中的控制台.log
的结果
const data: any = this.approvalEditFormGroup.value;
persons: Person[] = Object.keys(data).map(key => new Person(data[key]));