从反应式表单获取值复选框

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

[好,我正在实现一个反应性表单,但是从复选框获取值时遇到问题,仅显示我选择的值中第一个的值,而不显示其他值。我附上我的代码:

Component.ts] >>

registerForm: FormGroup;

  builder(
     private Restservice: RestserviceService,
     private route: ActivatedRoute,
     private router: Router,
     private formBuilder: FormBuilder
   ) {

     this.registerForm = this.formBuilder.group ({
       text: [""],
       checkArray: [""],
       radiobutton: [""],
       array: [""],
       list: [""],
       archive: [""],
       date: [""],
       numeric: [""],
       CommonData: [""],
     });
   }

// I show the values of the Form
  submit () {
     if (this.registerForm.valid) {
       console.log ("complete", this.registerForm.value);
       // this.createAnswers ();
     } else {
       alert ("FILL ALL FIELDS");
     }
   }

我在这里使用primeng的p复选框,但问题是它只识别所选的第一个值,而其他的则不然。

Html

<div *ngIf="p.codigo_tipopreguntas == 2">
                            <ng-container *ngFor="let v of valores; let i=index">
                              <div *ngIf="p.id === v.codigo_pregunta">
                                  <p-checkbox  value="{{v.preguntas_valor}}"
                                    label="{{v.preguntas_valor}}" formControlName="checkbox"></p-checkbox>
                              </div>
                            </ng-container>
                          </div>

 <button class="btn btn-info btn-just-icon btn-round btn-link" pTooltip="Guardar" tooltipPosition="top"
              (click)="submit()">
              <i class="material-icons">remove_red_eye</i>
            </button>

attached picture of what the submit function prints

[好,我正在实现一个反应性表单,但是从复选框获取值时遇到问题,仅显示我选择的值中第一个的值,而不显示其他值。我附上我的代码:...

angular typescript multidimensional-array checkbox primeng
1个回答
0
投票

如果要具有多个复选框的值,则需要将其放入FormArray中。因此,对于每个valore,您都需要创建自己的FormControl。

© www.soinside.com 2019 - 2024. All rights reserved.