2016-11-30 4 views
1

Angular 2.0を使用してJSONからコントロールを動的にフォームを作成する必要があります。Angular 2を使用してJSONから入力コントロールを動的にフォームを作成する

私はAngular 2.0とTypescriptの新機能です。私は全く知らない、どこから開発を始めるのか。

ご迷惑をおかけして申し訳ありません。

は、下記のサンプルJSONあなたが/角度フォーム@からFormBuilderをインポートする必要があります

"General": { 
     "None": [ 
      { 
       "FieldName": "100", 
       "DisplayName": "Mapping Name", 
       "ClassSize": "col-sm-6 col-xs-12", 
       "Field": [ 
        { 
         "ControlType": "TextBox", 
         "FieldClass": "col-sm-6 col-xs-12", 
         "Required": "True", 
         "MaxLength": "10", 
         "RegularExpression": "" 
        } 
       ] 
      }, 
      { 
       "FieldName": "101", 
       "DisplayName": "Select Target File Type", 
       "ClassSize": "col-sm-6 col-xs-12", 
       "Field": [ 
        { 
         "ControlType": "Dropdown", 
         "FieldClass": "col-sm-6 col-xs-12", 
         "Required": "True", 
         "Options": [ 
          { 
           "Description": "--Please select--", 
           "ID": 0 
          }, 
          { 
           "Description": "Row Per Day", 
           "ID": 1 
          }, 
          { 
           "Description": "Row Per Week", 
           "ID": 2 
          }, 
          { 
           "Description": "Row Per Transaction", 
           "ID": 3 
          } 
         ] 
        } 
       ] 
      } 
     ] 
    } 
+0

あなたは、このガイドを見たことがありますか? https://angular.io/docs/ts/latest/cookbook/dynamic-form.html – yurzui

+0

試しましたか? – silentsod

+0

@yurzui:angular.io/docs/ts/latest/cookbook/dynamic-form.htmlに記載されている例を試してみました。私はJSONを解析してUIを作成することができました。しかし、別の行に表示するのではなく、同じ行にあるコントロールが必要です。この例では、私のコントロールを表示するためにswitch文を使用しているので、私の必要条件を満たすことについてはわかりません。お知らせ下さい。 –

答えて

0

です。 FormGroupを作成します。

public form: FormGroup; 

private _buildForm() { 
    let obj = {}; 
    General['None'].forEach(val => { 
    obj[val.fieldname] = new FormControl('', Validators.required); 
    }); 

    _fb.group(obj); 

} 

テンプレートでは、フォームコントロールをループし、そのタイプに基づいてフォームを作成する必要があります。

この回答では、必要なすべての回答が得られるわけではありませんが、できることには目を見張るものです。

実装方法に応じてFormArrayを使用することができます。

フォームのangular2ドキュメントを読んでください。このビデオも見てください。

Angular 2 Forms | Kara Erickson - YouTube

Forms - ts - GUIDE - Angular

+0

私が受け取るJSONはよりダイナミックになり、そのファイルに含まれるルート要素がわかりません。 –

+0

上記のメソッドを動作させるには、一貫した種類のデータが必要です。データを操作して特定のパターンを形成することもできます。 – koech

関連する問題