Ich habe versucht, einfache Array-Form in eckigen 4, Und ich stieß auf ein seltsames Problem mit ngModel.Angular 4, Verwenden von ngModel in Form Array (ReactiveFormsModule)
Bitte zuerst meine Codes sperren lassen.
Meine Methode
meine Form FormGroup definieren:
public invoiceForm: FormGroup;
Einstellung meiner Testdaten und Formular Modell:
readonly local = [ 'Lorem ipsum dolor sit amet', 'et iusto odio dignissim qui blandit', 'Epsum factorial non deposit', 'Ma quande lingues coalesce' ]; public localModel = this.local;
in ngOnInit definieren Formulargruppe und einfaches Add meine Einheimischen rudern in Formgruppe:
this.invoiceForm = this._fb.group({ itemRows: this._fb.array([this.initItemRows()]) }); for (let index in this.local) this.setAndReplaceNewERow(+index)
Vorerst sieht alles richtig gemacht. see result as image
Das Problem
Wenn ich einen der Texteingaben ändern, wird die Hauptvariable auch ändern.
Vor Wechsel:
FormGroup
{
"itemRows": [
{
"itemname": "Lorem ipsum dolor sit amet"
},
{
"itemname": "et iusto odio dignissim qui blandit"
},
{
"itemname": "Epsum factorial non deposit"
},
{
"itemname": "Ma quande lingues coalesce"
}
]
}
My Local Data
[
"Lorem ipsum dolor sit amet",
"et iusto odio dignissim qui blandit",
"Epsum factorial non deposit",
"Ma quande lingues coalesce"
]
My Form Model
[
"Lorem ipsum dolor sit amet",
"et iusto odio dignissim qui blandit",
"Epsum factorial non deposit",
"Ma quande lingues coalesce"
]
Nach Wechsel:
FormGroup
{
"itemRows": [
{
"itemname": "Lorem ipsum dolor sit amet"
},
{
"itemname": "et iusto odio dignissim qui blandit"
},
{
"itemname": "changed !!!!!!!!!!!"
},
{
"itemname": "Ma quande lingues coalesce"
}
]
}
My Local Data
[
"Lorem ipsum dolor sit amet",
"et iusto odio dignissim qui blandit",
"changed !!!!!!!!!!!",
"Ma quande lingues coalesce"
]
My Form Model
[
"Lorem ipsum dolor sit amet",
"et iusto odio dignissim qui blandit",
"changed !!!!!!!!!!!",
"Ma quande lingues coalesce"
]
DEMO
Bitte nehmen Sie sich einen Blick auf Plunk Demo
Danke Alex. Das war genau das, was ich wollte. – raminmohammadi