2017-11-18 4 views
0

ich eine Angular Anwendung am Bau, die dynamisch eine Form durch eine formgroup object macht wie folgt:Ändern der Reihenfolge der Winkel formGroup steuert

<div *ngFor="let controlName of updateValuesForm.controls | keys"> 
     <input [formControlName]=controlName type="text" class="edit-template-input" /> 
    </div> 

In bestimmten Situationen jedoch möchte ich meine den Auftrag zwei dieser Kontrollen tauschen in Formulargruppenobjekt Ist das mit einem Angular formgroup object möglich?

Antwort

0

Im Allgemeinen hat Objekt in Javascript keine Bestellung und es ist nicht sinnvoll für sie zu haben.

können Sie einen FormArray verwenden, die intern ein Array, das an den Kontrollen zu halten und der Reihenfolge, die Art und Weise zu verändern.

Oder wenn Sie es wirklich mit dem Objekt wany zu tun, haben Sie wahrscheinlich Ihre Steuerelemente in einem Array zu speichern und der Reihenfolge, die Art und Weise zu verändern.

0

A FormGroup ist intern ein Objekt und so hat daher keine inhärente Reihenfolge.

Wenn Sie Ihre Steuerelemente in einem FormArray setzen werden Sie dann in der Lage sein, die Reihenfolge der Kontrollen ihren Index mit ändern.

können Sie Methoden wie insertremoveAt und push die Reihenfolge der Kontrollen innerhalb der FormArray durch ihren Feldindex entsprechend zu manipulieren.

Verwandte Themen