【问题标题】:Angular Forms Patch Value With Different Field Name具有不同字段名称的 Angular 表单补丁值
【发布时间】:2020-03-17 06:37:27
【问题描述】:

我想修补一个字段名称略有不同的表单。这在 Angular 中可行吗?
示例:假设这是我的student.ts 课程。

export class Student {
   id: number;
   BIValueTerm: number;
}

我想用一个学生对象修补我的表单组。我的表单组如下所示:


// const student = ... ; student object

const studentForm = new FormGroup({
   id: new FormControl(''),
   bivalueTerm: new FormControl('')
});

studentForm.patchValue(student);

现在的问题是,studentForm 正确修补了 id 字段,但没有修补 bivalueTerm 字段。有什么办法也可以打补丁吗?

【问题讨论】:

  • 问题在于导出的“学生”类。确保键“bivalueTerm”与“BIValueTerm”相同。在学生类中使用“bivalueTerm”或“BIValueTerm”作为元素,然后只有它会正确分配
  • 否则你可以使用 studentForm.patchValue({id: student.id, bivalueTerm: student.BIValueTerm})

标签: angular angular-reactive-forms


【解决方案1】:

获得适当结果的两种方法是 解决方案1:

export class Student {
   id: number;
   bivalueTerm: number;
}

解决方案 2:

studentForm.patchValue(
  {
   id: student.id, 
   bivalueTerm: student.BIValueTerm
  }
)

【讨论】:

  • 是的,这两种方法都可以,但这并不能回答我的问题。我想知道我是否可以通过更改补丁配置来修补它,以便不区分大小写地匹配键。
  • 不,据我所知,这是不可能的。
  • 我将您的答案标记为正确,因为我发现除了您提到的以外没有其他方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-26
  • 2017-03-03
  • 2022-08-23
  • 2011-01-13
  • 2016-06-02
  • 2013-05-07
相关资源
最近更新 更多