首页 > 解决方案 > Angular 6动态复选框键值返回ID数组

问题描述

我有一个使用键值管道的动态复选框列表,它返回对象而不仅仅是选定的 ID 数组。

任何人都可以帮忙,我需要表单来提交一组选定的用户 ID。

https://stackblitz.com/edit/angular-ciaxgj

编辑 这里是具有多选(国家)的类似表单的日志: 控制台日志

我需要users(复选框)返回一个数组,如countries上面的日志中的(多选)。

标签: arraysangularangular6key-valueangular-reactive-forms

解决方案


因此,碰巧我一直在考虑解决方案,就像多选一样,复选框将/可能返回一个准备好的选定项目数组。

相当简单的解决方案是阅读 Eliseo 的另一篇文章并结合 Jaba Prince 的回答:

onSubmit() {
    var usersObj = this.userForm.value.users;
    var selectedUserIds = [];
    for (var userId in usersObj) {
        if (usersObj.hasOwnProperty(userId)) {
          if(usersObj[userId])//If selected
          {
              selectedUserIds.push(userId);
          }

        }
    }

    let data = {
      users: selectedUserIds
    }

    console.log(data);

    // post data in service call

  }

非常感谢你们两个!


推荐阅读