Angular:如何将FormGroup.value转换为Map?

时间:2018-05-17 15:23:00

标签: angular dictionary formgroups

我有一个FormGroup,它有一些FormControls,每个FormControls使用一个字符串作为名称,一个对象(Answer)作为值。

我所尝试的是将formgroup的值直接转换为Map,但事实证明它是未定义的。

e.g。

const formDataMap: Map<string, Answer> = this.form.value as Map<string, Answer>;

获得此功能的唯一方法如下:

const formDataMap: Map<String, Answer> = new Map<String, Answer>(); 

Object.keys(formData).forEach((key) => { 
    formDataMap.set(key, formData[key] as Answer); 
}); 

这不应该是从表单到地图的自然演员吗?

1 个答案:

答案 0 :(得分:1)

typescript中的as运算符仅定义该属性的类型。它不会将项目推送到您的地图。因此,您需要循环浏览属性并将其手动推送到地图中。