2

Ich habe eine verschachtelte Array wieWie setze ich den Patch-Wert (update den geschachtelten Wert) in Array in Array in angular2?

permission": [ 
{ 
    "id": 2, 
    "key": "creatBusinessPermission", 
    "legend": "BusinessModule", 
    "ischecked": false, 
    "label": " Create Business Settings", 
    "roles": [ 
    { 
     "id": 1, 
     "key": "self", 
     "ischecked": false 
    }, 
    { 
     "id": 2, 
     "key": "selfrole", 
     "ischecked": false 
    }, 
    { 
     "id": 3, 
     "key": "other", 
     "ischecked": false 
    }, 
    { 
     "id": 4, 
     "key": "All", 
     "ischecked": false 
    } 
    ] 
}, 
{ 
    "id": 3, 
    "key": "editBusinessPermission", 
    "legend": "BusinessModule", 
    "ischecked": true, 
    "label": " Edit Business Settings", 
    "roles": [ 
    { 
     "id": 1, 
     "key": "self", 
     "ischecked": false 
    }, 
    { 
     "id": 2, 
     "key": "selfrole", 
     "ischecked": false 
    }, 
    { 
     "id": 3, 
     "key": "other", 
     "ischecked": false 
    }, 
    { 
     "id": 4, 
     "key": "All", 
     "ischecked": false 
    } 
    ] 
}] 

für oben Array I reaktive Formen verwende, bauen Nach Ausfüllen eines Formulars I eine Funktion für die Erlaubnis, auf Onchange haben, wenn diese Funktion, dass die Erlaubnis IsChecked und selbst genannt wird bezogen IsChecked als wahr ändern, die ich getan mit pesrmission als wahr perfekt kontrolliert, ich tun zu machen bin strugling, ist ** ** Selbst IsChecked als wahr,

Dies ist mein Code

(<FormArray>this.roleForm.controls['permission']).at(index).patchValue({ 
     ischecked : true 
    }) This is works fine 

Hier ist immer bin nicht das, was versuchen

(<FormArray>this.roleForm.controls['permission']).at(index).get('roles').at(1)..patchValue({ 
     ischecked : true 
    }) this code giving error, Probebly I did n't no how to do 
+0

'..' ist tatsächlich Tippfehler oder nur in Frage Typo? – wannadream

+0

es ist ein Szenario in meinem Projekt – Runali

Antwort

2

, dies zu tun

let x = (<FormArray>this.roleForm.controls['permission']).at(index).get('roles') 
let y = (<FormControl>x.controls[0]) 

y.patchValue({ 
     ischecked: true 
     }) 
+0

Danke, es funktioniert – Runali

Verwandte Themen