1

我正在使用 Angular 6。我有一个学生注册表。字段:姓名、地址、电话、批次。

在后端,我有一个学生表和另一个批处理表(它有自己的属性,例如:id、name、schedule...)。

现在,在学生注册表单 UI 中,我需要显示批次(名称)的单个选择下拉列表。但是在保存时,我应该将 id 保存在学生表中。

formGroup.value 的当前输出:{ name:"john", address: "12 Main St", phone: "22421231234", batch: "Batch 1" }

相反,我需要,{名称:“john”,地址:“12 Main St”,电话:“22421231234”,批次:“id#”}

我知道两种解决方案,一种我可以在不使用表单组的情况下手动创建 json,我可以拥有一个模型并在用户输入时不断更新值。其次,我可以用 id 替换批次。(如果我在我的数组中使用名称进行搜索,这将不可靠,因为我的数组可能有多个具有相同名称的项目)

还有其他简单的解决方案来管理这个吗?

4

1 回答 1

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 中使用这个模型,就像这样 let json=new Student().map(form.value);

于 2019-01-07T06:00:17.377 回答