我坚持使用复选框来实现矩阵。
有4个静态列,并且有带标题的动态行。
如何通过此任务创建反应形式?
这样的动态行来了。
@Input()
set dealers(deal: Array<IDealer>) {
deal.map(el =>
this.roles.push(
new FormGroup({
dealerId: new FormControl(el.dealerId),
roleIds: new FormArray([])
})
)
);
,它以一种方式起作用。我需要选中控制器上的复选框。(编辑模式)
toggleMe($event) {
const t = this.userForm.get('roles') as FormArray;
const roleName = $event.target.id.split('_')[0];
const dealerId = $event.target.id.split('_')[1];
const dealerRoleForm = t.value.filter(d => d.dealerId === dealerId)[0];
if (dealerRoleForm.roleIds.includes(roleName)) {
dealerRoleForm.roleIds = dealerRoleForm.roleIds.filter(
v => v !== roleName
);
} else {
dealerRoleForm.roleIds.push(roleName);
}
}