单个数据源的多个反应式表单组

时间:2019-03-07 22:41:01

标签: angular angular-reactive-forms

我的数据源看起来像这样:

data = {
  Bob:   {
           hobbies: ['cycling', 'swimming'],
           pets: ['cat', 'dog']
         },
  Alice: {
           hobbies: ['cycling, 'chess'],
           pets: ['fish', 'dog']
         }
}

我需要为每个用户,爱好和宠物创建一个多选。

例如 鲍勃(Bob)和爱丽丝(Alice)都有两个多重选择,一个用于爱好,一个用于宠物。 骑行对于关联的用户有多种选择(可以同时选择Bob和Alice)。 Cat对关联的用户有多项选择(将Bob选中,而Alice未被选中)。

我遇到的问题是如何在Cat多选上处理用户的选择/取消选择及其对该用户的Pet多选的影响。

我目前正在从数据源派生byUser,byPet和byHobby对象,然后从这些对象生成三个不同的FormGroups。问题是我现在有三个单独的数据源。我想将一个表单组中的更改应用于其他表单组,以使数据保持同步。

是否有更优雅的解决方案,可以以某种方式使用单个FormGroup?

1 个答案:

答案 0 :(得分:0)

从一个下拉列表中选择数据时,您可以使用数据中的过滤器选项