2017-01-20 6 views
2

ich eine dynamische Formulareingabe haben zu erzeugen, wo der Benutzer eine Taste drücken, können mehrere Eingabefelder hinzufügen, wie dies mit ngFor an der Vorlage gebunden werden:Wie Zufallszahl Eingabeformular Gruppenindex auf Winkel 2

*ngFor="let data of getTasks(myFormdata); let i=index" 

und die TS-Datei

getTasks(myFormdata) { 
    return myFormdata.get('inputs').controls 
    } 

das alles funktioniert super. Der Benutzer kann neue Eingabefelder hinzufügen, aber ich habe eine Schaltfläche, die eine Zufallszahl erzeugt und die Zufallszahl auf den Eingabewert setzt. Da ich neu in Angular 2 bin, kann ich es nicht tun, wenn es mehr als ein Eingabefeld gibt. Das Verfahren der Zufallszahl in das Feld zu erzeugen, ist die folgende:

getRandomNumber() { 
    const random = Math.floor(Math.random() * (999999 - 100000)) + 100000; 
    const control = <FormArray>this.myFormdata.controls['inputs']; 
    control.setValue([{numbers: random, pari: 25}]) 
} 

Was aus meiner getRandomNumber() Methode fehlt, um es für jedes hinzugefügte Feld eine Zufallszahl zu machen generieren?

Antwort

2

ich die Lösung habe ... die folgende ist meine Lösung

getRandomNumber(i: number) { 
    let random = Math.floor(Math.random() * (999999 - 100000)) + 100000; 
    const control = <FormArray>this.myFormdata.controls['inputs']; 
    const random = this._fb.group({numbers: +quickpicked, pari: 25}); 
    control.setControl(i, random) 


    }