【问题标题】:Angular Nested-Form builder giving "Cannot find control with path" errorAngular Nested-Form builder 给出“找不到带路径的控件”错误
【发布时间】:2019-06-01 16:30:17
【问题描述】:

我有一个 Angular 嵌套表单,它分为多个选项卡,每个选项卡都有多个输入元素,如 thisstackblitz。

请帮我解决以下问题:

Error: Cannot find control with path: 'averageBos -> sip5xx -> SIP500 -> avg'

【问题讨论】:

  • 我刚刚尝试了您的 stackblitz 示例,但没有收到任何错误...当您收到此错误时是什么情况?
  • @miselking 请检查这个 stackblitz 链接stackblitz.com/edit/angular-pr13ls
  • 没有名为 avgavg1 的控件。它们被称为criticalwarning。因此,只需将 html 文件中的重命名为 criticalwarning (或相反)...
  • formControlName 用于input 标签而不是div
  • @user3331232 似乎您提供的两个链接都没有错误。您能否在帖子中添加您的原始 html,以便其他人可以在修复之前看到问题所在。我可以看到您正确使用“formGroupName 作为 div 标签和 formControlName 作为输入标签”正如@HDJEMAI 所指出的那样

标签: angular nested-forms formbuilder angular-formbuilder


【解决方案1】:

我已经纠正了你的错误:

使用formGroupName 作为div 标签,使用formControlName 作为input 标签

<my-tabs>
  <my-tab [tabTitle]="'Tab 1'">
    <form [formGroup]="MyGroup">
      <label>Average MOS</label>
      <div formGroupName="averageMos">
        <input type="text" formControlName="critical">
      </div>
    </form>
  </my-tab>
  <my-tab tabTitle="Tab 2">
    <form [formGroup]="MyGroup">
      <label>Average BOS</label>
   <div formGroupName="averageBos">
     <div formGroupName="sip5xx">
       <div formGroupName="SIP500">
         <input type="text" formControlName="critical">
         <input type="text" formControlName="warning">
       </div>
     <div formGroupName="SIP501">
       <input type="text" formControlName="critical">
       <input type="text" formControlName="warning">
     </div>
    </div>
  </div>
     </form>
  </my-tab>

 </my-tabs>

试试this stackblitz 演示。

如果你想做:formControlName="avg" 那么你必须在类文件中找到那个控件。

【讨论】:

  • @user3331232:你能确认这是否适合你吗?
猜你喜欢
  • 2019-12-11
  • 2020-10-02
  • 1970-01-01
  • 2017-02-02
  • 2017-12-09
  • 2021-09-09
  • 2018-10-28
  • 2020-08-18
  • 2021-10-31
相关资源
最近更新 更多