动态FormGroup> FormGroupName> FormControlName

时间:2019-04-12 15:24:27

标签: angular forms

我有一个像这样的动态FormGroup(节数和循环大小是动态的)。这是我的表单组$ form:

{
  "action.281": {
    "section.267": {
      "loop.1": {
        "form.885": []
      },
      "loop.2": {
        "form.885": []
      }
    },
    "section.275": {
      "loop.1": {
        "form.891": ""
      }
    },
    "section.276": {
      "loop.1": {
        "section.277": {
          "loop.1": {
            "form.894": ""
          }
        },
        "default": {
          "form.892": "",
          "form.893": ""
        }
      }
      "loop.2": {
        "section.277": {
          "loop.1": {
            "form.894": ""
          }
        },
        "default": {
          "form.892": "",
          "form.893": ""
        }
      }
    }
  }
}

这里,当部分取决于其他部分的形式刚刚链接到父部分时,我使用“默认”。例如,在这里,第277节是第276节,但该节。 276有2个FormGroupName 892和893,因此要管理所有文件,我将它们放入“默认” FormGroup中。

我尝试在树枝模板中使用它,但遇到了一些麻烦。确实,我不知道如何动态管理FormGroupName。

这是我的主要模板。

<div [formGroup]="form">
    <div *ngFor="let section of sections">
      <app-section [section]="section" [action]="action"></app-section>
    </div>
</div>

这是我的版块模板。

<div [formGroup]="form">

  <div [formGroupName]="'action.281'">

      <div *ngFor="let loop of section.loops" [formGroupName]="'loop.' + loop.id">
          <div *ngFor="let question of loop.questions" class="form-group">
            <label>{{ question.label }}</label>
            <input class="form-control" [formControlName]="'form.' + question.id"/>
        </div>

        <div *ngFor="let s of section.sections">
          <app-section [section]="s" [action]="action"></app-section>
        </div>
      </div>

  </div>

</div>

问题在于该部分可以依赖于其他部分(在形式上,第277部分依赖于第276部分)。我阻止了模板的体系结构...如何将动态部分分为多个部分?

0 个答案:

没有答案