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

问题描述 投票:0回答:1

我在组件中具有以下功能:

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:“约翰”,lastName:“ sam”}

我该如何实施?

[Edit:当前在控制台日志中得到这样的信息

[
{firstName: "john"},
{lastName: "sam"}
]
arrays angular typescript angular-material typescript2.0
1个回答
0
投票

请勿使用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);
}
© www.soinside.com 2019 - 2024. All rights reserved.