私は反応的なフォームから要素を削除する方法を理解しようとしています。角4 FormGroup removeControl()はフォームを更新しません
はここで小さな例のplunkerだ:私はX
ボタンを押すとhttp://plnkr.co/edit/HyhMDoMtek02CyKpZ7Wt?p=preview
、フォームオブジェクトが更新されますが、フォームのUIはまだそこにアイテムを持っています。
フォームを削除時に更新するにはどうすればよいですか?
あなたはあなたがフォームからdeleteItem(id: number){
var elem = this.widget.items.find((i)=>i.id == id);
this.widget.items.splice(this.widget.items.indexOf(elem), 1)
(<FormGroup>this.form).removeControl(id.toString());
}
その他のオプションはコントロールオブジェクトを介してオブジェクトの反復処理を経由しての代わりに反復処理であろうウィジェットから削除何をする必要があるかのウィジェット
<div *ngFor='let item of widget.items'>
<input type='text' [formControlName]='item.id'>
<button type='button' (click)='deleteItem(item.id)'>X</button>
</div>
を反復処理しているテンプレートで
最初のオプションはトリックでした、ありがとうございます! –
2番目のオプションは動作しませんが、私はあなたがそれを修正するアイデアを得ることを願っ:) –