2017-10-30 16 views
1

テキストエディタのような単純なエディタにバインドできるアングルダイナミックフォームを設定しようとしていますが、バインド可能なアイテムのリストも公開していますグリッド。一例は、OrderとそのItemsです。Angular 2データグリッドをAngular 4 FormArrayにバインドする方法

私が理解する限り、「角型動的フォーム」は、「実際の」オブジェクトから取り込まれた変更追跡モデルを作成します。たとえば、注文アイテムの例では、各アイテムはFormGroupとして作成され、FormArrayに追加されます。

これはすべて単純なコントロールにバインドするときに意味を持ち、実行しやすくなっていますが、今度は注文アイテムをデータグリッドにバインドする必要があります。これは非常に一般的なシナリオのように思えますが、私はこれについてどこにも言及していません。私は推薦パターンに従わないかもしれないと思う?

データグリッド(この場合はClarity VMWare)をFormGroupアイテムにバインドできますか?

のTx

答えて

1

私はフォームグループ内の抽象コントロールの値を取得することによって項目を表すフォームグループのそれぞれに結合することができることを考え出した自分の質問に答えるために:

<clr-dg-row *ngFor="let item of orderItems" [clrDgItem]="item"> 
<clr-dg-cell>{{ item.get('code').value }}</clr-dg-cell> 
<clr-dg-cell>{{ item.get('value').value }}</clr-dg-cell> 
</clr-dg-row> 

item.get( 'controlName')がコントロールグループのコントロールを取得し、.valueがその現在の値を取得するのではないかと疑問に思った場合。項目のリストは、次のようにコンポーネントに公開されます。

get orderItems(): AbstractControl[] { 

    return (this.orderForm.get('items') as FormArray) 
     .controls; 
} 
+0

これはちょうど値を表示するつもりですか?フォームコントロールの編集に関する質問ではありませんか?また、これはClarityとは関係ありません。 –

関連する問題