如何使用 Angular 中的表单值构建数组



我在组件中有如下函数:

updateInfo(info: NgForm) {
const changedValues = Object.keys(info.controls)
.filter(key => info.controls[key].dirty === true)
.map(key => {
return { control: key, value: info.controls[key].value }
});
console.log(changedValues);
}

此函数发出更改表单值,但现在我想使用changedValues构建一个数组,如下所示:

{ 名字:"约翰", 姓氏:"山姆" }

我该如何实现它?

编辑:目前我在控制台日志中得到这样的结果

[
{firstName: "john"},
{lastName: "sam"}
]

不要使用map,因为这会返回一个数组。请改用forEach并将项目添加到对象中:

updateInfo(info: NgForm) {
const changedValues = {};
Object.keys(info.controls).forEach(key => {
if (info.controls[key].dirty) { 
changedValues[key] = info.controls[key].value;
}
});
console.log(changedValues);
}

最新更新