我正在尝试使用表单数组提交反应式表单,我尝试了其他线程的解决方案,但是没有一个对我有用,我感觉我缺少了一些东西。确切的错误是ERROR错误:找不到名称为'stepName'的控件和ERROR错误:无法找到名称为'stepDesc'的控件。这是一个示例代码: HTML:
soup.find("div", {"id":"additional_stats_container"})
请忽略表单中未关闭的div。
div
我的提交表单:
<div formArrayName="knowSteps" cdkDrag *ngFor="let formGroup of knowSteps.controls; let i = index">
<div [formGroup]="knowSteps.controls[i]">
<mat-accordion>
<mat-expansion-panel class="step-expand">
<mat-expansion-panel-header cdkDragHandle class="drag-drop">
<p>{{steptitle.value == '' ? 'Step' : steptitle.value}}</p>
</mat-expansion-panel-header>
<div clas="row">
<div class="col-md-12 p-3 mb-2 step-name" >
<mat-form-field appearance="outline">
<mat-label>Step Name</mat-label>
<input matInput formControlName="stepName" name="stepName" #steptitle>
</mat-form-field>
</div>
</div>
<div clas="row">
<div class="col-md-12 p-3 mb-2 step-description">
<mat-form-field appearance="outline">
<mat-label>Step Description</mat-label>
<textarea matInput formControlName="stepDesc" name="stepDesc"></textarea>
</mat-form-field>
</div>
</div>
我只放置了表单的这一部分,因为这是唯一不起作用的部分。 预先谢谢你。
答案 0 :(得分:1)
this.formBuilder.group({
stepName: new FormControl('', [Validators.required]),
stepDesc: new FormControl('', [Validators.required]),
})
应该在到达ngAfterViewInit
之前被调用。通常在constructor
/ ngOnInit
中。