2017-05-30 56 views
0

我希望你做的很好。見習這裏,剛開始使用前端發展,很抱歉,如果這個問題是愚蠢的,或代碼看起來可怕的(任何修正非常歡迎)。下拉里面的DataTable不會「預先選擇」綁定選項[PrimeNG]

我裏面有一個數據表中的下拉元素:

<p-dataTable [value]="Items"> 
    <p-column field="Destination" header="Destinos"> 
     <ng-template let-col let-item="rowData" pTemplate="body"> 
      <p-dropdown [ngModelOptions]="{standalone: true}" [(ngModel)]="item[col.field]" appendTo="body" [options]="Destinations"> 
      </p-dropdown> 
     </ng-template> 
    </p-column> 

    <!-- more columns--> 

</p-dataTable> 

目的地都在這裏裝:

this.destinationService.getDestinations(). 
     subscribe((res: Array<Destination>) => { 
      res.forEach(element => { 
       this.Destinations.push({ label: element.Name, value: element.id }); 
      }); 
     }); 

按下提交按鈕時,它會生成一個JSON。這個「創造」模板就像一個魅力。保存的對象是一個估計值,以及estimate.Provider有一個正確的屬性值,它是一個數字,從選擇/選項「價值」拍攝,所以我想結合的作品在這裏完美。

但是,當我加載此提到的「編輯」模板估計,一切加載除了目的地下拉完美,因爲it hasn't nothing selected

我的意思是,如果estimate.Provider是2,應該不是「自動選擇」,其「價值」的選擇將是2?至少,這就是本地下拉菜單的工作方式(我檢查了值是否正確加載,以防萬一,並且它確實如此)。 此外,我相信空值默認爲怪,因爲primeng下拉列表中選擇默認情況下,下拉加載的第一個值。然後,如果我點擊它,它可以很好地工作。 displays the options as it should do

所以我相信奇怪的事情正在發生,我失去了一些重要的東西。

我不知道該怎麼做。在此先感謝

回答

0

我的問題是,我正在處理一個父和子組件,並且Datatable(它在子組件中)的'datasource'通過Input()從父組件獲取其值,問題在於在輸入之後而不是在之前執行的數據庫中加載目的地的服務,因此當目的地爲空時模板呈現數據。我將它固定爲將「目的地」從父母發送給孩子,而不是將其加載到孩子身上。

希望它有幫助。

相關問題