我在组件中有如下函数:
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);
}