2017-05-25 130 views
2

我面臨以下錯誤:angular2 formbuilder多嵌套formGroupName

EXCEPTION: Uncaught (in promise): Error: Error in ./AccComponent class AccComponent - inline template:106:11 caused by: Cannot find control with name: 'det' 

我formbuilder如下:

this.AccForm = this.fb.group({ 
     accid: ['', Validators.required], 
     accnbr: ['', Validators.required], 
     cyc: this.fb.group({ 
     cycid:['', Validators.required], 
     name:['', Validators.required], 
     description:['', Validators.required], 
     det: this.fb.group({ 
      dcycid: ['', Validators.required], 
      status: ['', Validators.required], 
     }) 
     }) 
    }); 

而在我的模板時,我試圖讓formgroupname「DET '我得到了錯誤?

<div formGroupName="det"> 
      <div class="row"> 
      <div class="form-group> 
       <span><strong>Id</strong></span> 
       <input formControlName="dcycid" id="dcycid" type="number" class="form-control"> 
       </div>  
      <div class="form-group"> 
       <span><strong>status</strong></span> 
       <input formControlName="status" id="status" type="text" class="form-control"> 
      </div> 
      </div> 
    </div> 

備註'det'嵌套在第3層。

任何想法有什麼不對?

謝謝。

/KOul

回答

4

請找到更正HTML,你需要做的是巢FormGroupNames爲每JSON

<div [formGroup]="AccForm"> 
<div formGroupName="cyc"> 
    <div formGroupName="det"> 
    <div class="row"> 
    <div class="form-group"> 
     <span><strong>Id</strong></span> 
     <input formControlName="dcycid" id="dcycid" type="number" class="form-control"> 
    </div> 
    <div class="form-group"> 
     <span><strong>status</strong></span> 
     <input formControlName="status" id="status" type="text" class="form-control"> 
    </div> 
    </div> 
</div> 

+0

謝謝你,它的工作 –