Angular 角度值()复选框

Angular 角度值()复选框,angular,Angular,我正在构建一个包含三个复选框的表单: <div class="col-md-12"> <label for="role">{{ 'USERS.ROLE' | translate }}:</label> <ul class="nav mb-3"> <li class="nav-item mr-2"> <div class="form-group">

我正在构建一个包含三个复选框的表单:

<div class="col-md-12">
    <label for="role">{{ 'USERS.ROLE' | translate }}:</label>
    <ul class="nav mb-3">
        <li class="nav-item mr-2">
            <div class="form-group">
                <div class="form-check">
                    <label class="form-check-label" for="">
                    <input type="checkbox" class="form-check-input" (change)="roles($event, 1)">
                        {{ 'CODE_TABLE.USER_ROLE.1' | translate }}
                    </label>
                </div>
            </div>
        </li>
        <li class="nav-item mr-2">
            <div class="form-group">
                <div class="form-check">
                    <label class="form-check-label" for="">
                    <input type="checkbox" class="form-check-input" (change)="roles($event, 2)">
                        {{ 'CODE_TABLE.USER_ROLE.2' | translate }}
                    </label>
                </div>
            </div>
        </li>
        <li class="nav-item mr-2">
            <div class="form-group">
                <div class="form-check">
                    <label class="form-check-label" for="">
                    <input type="checkbox" class="form-check-input" (change)="roles($event, 3)">
                        {{ 'CODE_TABLE.USER_ROLE.3' | translate }}
                    </label>
                </div>
            </div>
        </li>
    </ul>
</div>

您需要有一个用于多个值的FormArray

import { ..., FormArray } from '@angular/forms';


this.userForm = this.fb.group({
    accountsToAdd: [],
    accountsToDelete: [],
    email: '',
    name: '',
    rolesToAdd: new FormArray([]),
    rolesToDelete: [],
    userId: null,
});
还有像这样的补丁价值

(<FormArray>this.userForm.get('rolesToAdd')).push(
new FormGroup( {
   'role': val
})
(this.userForm.get('rolesToAdd')).push(
新表格组({
“角色”:val
})

您到底面临什么问题?my roles()函数需要能够将多个角色添加到rolesToAdd,它与我使用patchvalue()的方式相吻合。它只是根据选中的复选框添加值编辑的告诉我属性“push”在类型“AbstractControl”上不存在。
(<FormArray>this.userForm.get('rolesToAdd')).push(
new FormGroup( {
   'role': val
})