首页 文章

如何将表单控件添加到现有表单组 - angular2

提问于
浏览
2

我有一个在ngOninit中构建的表单组,但是稍后当单击其中一个控件时,我想根据从ngOninit中的另一个API获取的值向现有表单组添加更多控件 . 下图显示了实际要求 . 当我点击其他角色时,我想展示我从API获得的其他角色控件 .
enter image description here

因为我是angular2的新手,有谁可以帮我摆脱这个问题?

2 回答

  • 2

    您可以尝试以下方法 .

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

    您可以添加一个控制和验证表单的方法,如果这是您要求的 .

    就像是:

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

    save() 方法上,您可以验证表单等 .

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

    Update:

    由于你是Angular 2的新手,这对你来说必须是 must readhttps://angular.io/docs/ts/latest/cookbook/dynamic-form.html

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

    Update 2:

    我很清楚你的问题 . 如果你想要的是动态元素添加到表单,最简单的方法是使用 *ngIf 来动态显示/隐藏元素 .

    例:

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

    文件:NgIf Directive

相关问题