我正在使用Angular6。我有一个学生注册表。字段:姓名,地址,电话,批次。
在后端,我有一个供学生使用的表,另一个有用于批处理的表(它具有自己的属性,例如:id,名称,时间表...)。
现在,在学生注册表单用户界面中,我需要显示一个用于批次(名称)的选择下拉列表。但是在保存时,我应该在学生表中保存ID。
formGroup.value的当前输出: {名称:“ john”,地址:“ 12 Main St”,电话:“ 22421231234”,批次:“ Batch 1”}
相反,我需要, {名称:“ john”,地址:“ 12 Main St”,电话:“ 22421231234”,批次:“ id#”}
我知道两种解决方案,一种是我可以不使用formgroup手动创建json,我可以有一个模型并在用户输入时不断更新值。第二,我可以用ID替换批处理。 (如果我用数组中的名称进行搜索,这将不会很可靠,因为我的数组可能有多个具有相同名称的项目)
还有其他简单的解决方案可以解决此问题吗?
答案 0 :(得分:0)
您好,您可以使用模型类来更改表格,所需表格中的值。
export class Student
{
name:string;
address:string;
phone:string;
Batch :number;
constructor()
{
}
map(input:any)
{
this.name=input.name;
this.address=input.address;
this.phone=input.phone;
this.Batch=batchService.getIdbyName(input.Batch);
}
在您的component.ts中使用此模型 像这样让json = new Student()。map(form.value);