How to set value to form control in Reactive Forms in Angular

前端 未结 6 1386
广开言路
广开言路 2020-11-28 08:15

Hi Everyone I\'m new to angular. Actually, I\'m trying to subscribe data from a service and that data, I\'m passing to form control of mine from (example, it\'s like an edit

6条回答
  •  广开言路
    2020-11-28 08:50

    The "usual" solution is make a function that return an empty formGroup or a fullfilled formGroup

    createFormGroup(data:any)
    {
     return this.fb.group({
       user: [data?data.user:null],
       questioning: [data?data.questioning:null, Validators.required],
       questionType: [data?data.questionType, Validators.required],
       options: new FormArray([this.createArray(data?data.options:null])
    })
    }
    
    //return an array of formGroup
    createArray(data:any[]|null):FormGroup[]
    {
       return data.map(x=>this.fb.group({
            ....
       })
    }
    

    then, in SUBSCRIBE, you call the function

    this.qService.editQue([params["id"]]).subscribe(res => {
      this.editqueForm = this.createFormGroup(res);
    });
    

    be carefull!, your form must include an *ngIf to avoid initial error

    ....

提交回复
热议问题