1
我具有由用戶動態地生成的一種形式:NG2-dragula和動態形式沒有同步直接
// this._fb is a FormBuilder
ngOnInit():void {
this.myForm = this._fb.group({
message: this._fb.array([
])
});
產生的JSON是一樣的東西
{
"message": [
{
"type": 1,
"value": "first message",
},
{
"type": 1,
"value": "second message",
}
]
}
我已經添加了NG2-dragula指令爲了改變消息順序
<form [formGroup]="myForm">
<div formArrayName="message">
<div [dragula]='"bag-one"' [dragulaModel]='myForm.controls.message.controls'>
<div *ngFor="let c of myForm.controls.message.controls; let i=index" class="panel panel-default" >
<div class="panel-body" [formGroupName]="i">
<label>value</label>
<input type="text" class="form-control" formControlName="value">
</div>
</div>
</div>
</div>
拖動功能很好地工作,但是當我d正在顯示我的表單的json,它仍然是舊的順序,除非我開始更改字段的內容。我在那種情況下更新表格。
只是快速猜測:'[dragulaModel] ='myForm.controls。 message.controls''是單向綁定。你可以使用這裏的雙向綁定或者一個事件來更新你的模型嗎? – Riscie
我對angular2很陌生你是什麼意思的雙向綁定使用'[(ngModel)]'? 奇怪的是,當我開始編輯一個字段時,所有內容都會更改爲正確的順序 – Alexis