2017-05-31 13 views
0

私は答えを見つけたときこの質問を書いていましたが、他の人のためにここに質問を投稿すると思いました。FormGroup内のオブジェクトへの事前選択のためのPrimeNGオートコンプリートとバインド

複雑なオブジェクトをPrimeNGオートコンプリートフィールドにバインドすると、そのフィールドの値を事前に選択し、フォームを返すときにオートコンプリートにバインドされた選択されたオブジェクトから関連プロパティを取得できますか?以下の例では、siteObjはオートコンプリートにバインドされた複合オブジェクトを表し、siteNameはUIに表示されるそのオブジェクト内のフィールドです。 Sitesは複合オブジェクトのコレクションです。

オートコンプリート

<p-autoComplete [suggestions]="sites" field="siteName" formControlName="siteObj" 
                 (completeMethod)="getFilteredItems($event)" 
                 appendTo="body" [minLength]="3"></p-autoComplete> 

答えて

0

だからここに私が考え出したものです:

FormGroupこのように見える必要があり:を事前選択

this.seriesObjectForm = this.formBuilder.group({ 
     seriesID: [''], 
     siteObj: { 
      siteID: [''], 
      siteName: [''] 
     }, 
     variableID: [''], 
     etlTypeID: [''] 
    }) 

は次のようになります。

フォームから値を取得
this.seriesObjectForm.patchValue({ 
     seriesID: series.seriesID, siteObj: {siteID: series.siteID, siteName: series.siteName }, variableID: series.variableID, etlTypeID: '' 
    }); 

は次のようになります。

var newItem = new Series(series.seriesID, series['siteObj']['siteID'], series['siteObj']['siteName'], series.variableID, series.etlTypeID) 
関連する問題