我有一個在ngOninit中生成的表單組,但稍後當單擊其中一個控件時,我想添加幾個更多的控件到基於值來自ngOninit中的另一個API。下面的圖片顯示了實際需求。當我點擊其他角色時,我想顯示其他角色控制,我從API獲得。 如何將表單控件添加到現有的表單組 - angular2
,因爲我是新來angular2,誰能幫助我走出這個問題的?
我有一個在ngOninit中生成的表單組,但稍後當單擊其中一個控件時,我想添加幾個更多的控件到基於值來自ngOninit中的另一個API。下面的圖片顯示了實際需求。當我點擊其他角色時,我想顯示其他角色控制,我從API獲得。 如何將表單控件添加到現有的表單組 - angular2
,因爲我是新來angular2,誰能幫助我走出這個問題的?
你可以添加一個方法來控制和驗證你的表單,如果這就是你要求的。
喜歡的東西:
<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"/>
他的問題是添加控件到現有的表單組 –
@PramodPatil哦!謝謝!我不明白這個問題。我已經更新了我的答案! :d – SrAxi
你可以用下面的辦法試一試。
const arrayControl = <FormArray>this.myForm.controls['formArray'];
let newGroup = this.fb.group({
/// new controls
}
arrayControl.push(newGroup);
什麼是這些*更少的控制*,有點不清楚。它應該是一個新的FormArray,新的FormGroup還是「簡單的FormControls」。根據這些信息很難提供幫助。你需要顯示一些代碼,你有什麼,你想要什麼,你做了什麼來實現你想要的和你失敗的地方:) – Alex