我正在尝试与Angular 6中的FormArrays和单选按钮相处,但无法以某种方式得到我想要的东西。
我想基于类似JSON的对象(服务器响应)初始化表单值-这部分主要工作-同时-找回相同的对象结构-在这里我有问题。
相反,我看到form.value
将提供的属性从布尔值更改为字符串(选项的ID)。
https://stackblitz.com/edit/angular-checkbox-radio
我还希望能够将值修补到现有表单上,例如进行编辑。
如果可能的话,我想以声明性和反应性的方式进行操作,而不求助于ngModel
或其他技术组合。
我在哪里/哪里做错了?,请在我yarn add ng-formly
无奈之下帮助我...
答案 0 :(得分:0)
您可以在buildSkills
和buildLevels
方法中,在表单的最终值中添加所需的字段:
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);
}