Angular 6 FormArrays中的RadioButtons-维护form.value

时间:2018-10-26 13:27:13

标签: angular

我正在尝试与Angular 6中的FormArrays和单选按钮相处,但无法以某种方式得到我想要的东西。

我想基于类似JSON的对象(服务器响应)初始化表单值-这部分主要工作-同时-找回相同的对象结构-在这里我有问题。

相反,我看到form.value将提供的属性从布尔值更改为字符串(选项的ID)。

https://stackblitz.com/edit/angular-checkbox-radio

我还希望能够将值修补到现有表单上,例如进行编辑。

如果可能的话,我想以声明性和反应性的方式进行操作,而不求助于ngModel或其他技术组合。

我在哪里/哪里做错了?,请在我yarn add ng-formly无奈之下帮助我...

1 个答案:

答案 0 :(得分:0)

您可以在buildSkillsbuildLevels方法中,在表单的最终值中添加所需的字段:

buildSkills() {
  const arr = this.user.skills.map(skill => {
    return this.fb.group({
      name: skill.name,
      id: skill.id,
      selected: skill.selected,
    });
  });
  return this.fb.array(arr);
}

buildLevels() {
  const arr = this.user.levels.map(level => {
    return this.fb.group({
      name: level.name,
      groupId: level.groupId,
      id: level.id,
      selected: level.selected,
    });
  });
  return this.fb.array(arr);
}