2017-02-21 3 views
1

Ich versuche, PrimeNG Vorlagen zum ersten Mal zu verwenden, und ich kann nicht herausfinden, wie "let-something" funktioniert. Ich habe versucht, verschiedene Kombinationen ich in andere SO Fragen gefunden, aber alle von ihnen mit dem gleichen Fehler erzeugen:Row Expander Vorlage funktioniert nicht in PrimeNG DataTable

Cannot read property 'undefined' of undefined 

In meinem Fall weder „Zeile“ noch „col“ definiert ist. Also ich würde gerne wissen, wie let-col und andere "Let" in PrimeNG Vorlagen funktioniert, in their site gibt es ein Beispiel mit "let-car", aber ich kann nicht herausfinden, woher kommt dieses "Auto" ?

Hier ist mein HTML-Code ist:

<p-dataTable [value]="devices" expandableRows="true"> 
    <p-column expander="true" styleClass="col-icon"></p-column> 
    <template let-col let-row="rowData" pTemplate="rowexpansion"> 
    <div class="ui-grid ui-grid-responsive ui-fluid" style="font-size:16px;padding:2px"> 
     <div class="ui-grid-row"> 
     <div class="ui-grid-col-9"> 
      <div class="ui-grid ui-grid-responsive ui-grid-pad"> 
      <div class="ui-grid-row"> 
       <div class="ui-grid-col-2 label">Vin: </div> 
       <div class="ui-grid-col-10">{{row[col.field]}}</div> 
      </div> 
      </div> 
     </div> 
     </div> 
    </div> 
    </template> 
    <p-column *ngFor="let header of columnHeaders" [field]="header.field" [header]="header.header"></p-column> 
</p-dataTable> 

Antwort

0

Ich denke nicht im Stich lassen-col in einer rowexpansion Vorlage verwenden können, sollte es

<p-column field="field_name" header="field_header"> 
     <ng-template let-col let-item="rowData" let-i="rowIndex" pTemplate="body"> 
     {{item[col.field]}}   
     </ng-template> 
    </p-column> 

dann innerhalb einer Spalte in einer Körpervorlage binden werden Sie können das Let-Element innerhalb der Zeile Expansionsvorlage so etwas wie:

<ng-template let-item pTemplate="rowexpansion"> 
{{item.field}} 
</ng-template> 
+0

Nun, es funktioniert gut in 'Körper' Vorlage, aber ich brauche auch die sa Ich Funktionalität für meine 'rowexpansion'-Vorlage an einem anderen Ort und es muss' rowexpansions'-Vorlage, nicht eine 'body' sein. –

+0

Ich bearbeite einfach die answare, indem ich die Option let-item hinzufüge, wenn sie dein Problem lösen kann –

Verwandte Themen