1

我有一个在ngOninit中生成的表单组,但稍后当单击其中一个控件时,我想添加几个更多的控件到基于值来自ngOninit中的另一个API。下面的图片显示了实际需求。当我点击其他角色时,我想显示其他角色控制,我从API获得。 enter image description here如何将表单控件添加到现有的表单组 - angular2

,因为我是新来angular2,谁能帮助我走出这个问题的?

+0

什么是这些*更少的控制*,有点不清楚。它应该是一个新的FormArray,新的FormGroup还是“简单的FormControls”。根据这些信息很难提供帮助。你需要显示一些代码,你有什么,你想要什么,你做了什么来实现你想要的和你失败的地方:) – Alex

回答

0

你可以添加一个方法来控制和验证你的表单,如果这就是你要求的。

喜欢的东西:

<button type="submit" (click)="save(f.value, f.valid)">Submit</button> 

如果您save()方法,你可以验证表单等。

更多关于角2表单控件的信息:https://scotch.io/tutorials/how-to-deal-with-different-form-controls-in-angular-2

更新:

当你是新的角2,这必须是一个必须为你读https://angular.io/docs/ts/latest/cookbook/dynamic-form.html

了解动态表单在Angular2中的表现以及如何实现它们非常有用。

更新2:

我非常理解你的问题。如果你想要动态添加元素,最简单的方法是使用*ngIf来动态显示/隐藏元素。

例子:

<input type="text" *ngIf="showInput"/> 

文档:NgIf Directive

+1

他的问题是添加控件到现有的表单组 –

+0

@PramodPatil哦!谢谢!我不明白这个问题。我已经更新了我的答案! :d – SrAxi

1

你可以用下面的办法试一试。

const arrayControl = <FormArray>this.myForm.controls['formArray']; 
     let newGroup = this.fb.group({ 
      /// new controls 
     } 
     arrayControl.push(newGroup); 
相关问题