0

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

我试图将表单组的值直接转换为 Map 但结果是未定义的。

例如

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); 
}); 

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

4

1 回答 1

1

typescript 中的as运算符仅定义该属性的类型。它不会将项目推送到您的地图。因此,您将需要遍历属性并将它们手动推送到您的地图,就像您所做的那样。

于 2018-05-17T19:12:04.300 回答