1

我想在多個位置向primeng數據表(p-datatable)添加一些服務器端分頁函數,所以我聲明瞭一個新組件「pagin-datatable.component 「我需要的功能和行爲。Angular 4 + primeng:將HTML內容從一個組件傳遞到另一個

所以pagin-datatable.component.html(模板)隨附:

<p-dataTable [value]="value" 
    resizableColumns="true" 
    scrollable="true" 
    scrollWidth="100%" 
    [(rows)]="this.gridOptions.rows" 
    [paginator]="true" 
    [lazy]="true" 
    [totalRecords]="nbTotal" 
    (onFilter)="filtrage($event)" 
    (onPage)="pagination($event)" 
    (onSort)="tri($event)" 
    [rowsPerPageOptions]="rowsPerPageOptions" > 
    /* There should be the p-columns */ 
</p-dataTable> 

我希望我對列仍然在我的main.component.html聲明如下:

<pagin-datatable [value]="partenaires" (pagin)="refresh($event)" [rowsPerPageOptions]="[5,10,20,40]"> 
     <p-column sortable="true" [filter]="true" field="aField"  header="A HEADER"></p-column> 
     /* And so it goes for every other p-columns */ 
</pagin-datatable> 

我的問題如下:如何告訴我的pagin組件讓p-datatable將發送到組件標籤的內容對待?

下面的答案後:

發現這篇文章來解決問題primeng:github.com/primefaces/primeng/issues/1215。

回答

2

您可以在pagin-datatable.component.html使用這樣

<p-dataTable [value]="value" 
    resizableColumns="true" 
    scrollable="true" 
    scrollWidth="100%" 
    [(rows)]="this.gridOptions.rows" 
    [paginator]="true" 
    [lazy]="true" 
    [totalRecords]="nbTotal" 
    (onFilter)="filtrage($event)" 
    (onPage)="pagination($event)" 
    (onSort)="tri($event)" 
    [rowsPerPageOptions]="rowsPerPageOptions" > 
    /* There should be the p-columns */ 
    <ng-content></ng-content> 
</p-dataTable> 

,並在您main.component.html您可以在pagin-數據表彎曲你的專欄,只要你想。

+1

完全忘了Angular的這個主要功能...謝謝。但是生命週期會阻止表中的p列被恢復。找到這篇文章(通過鍵入ng-content + primeng)來解決這個問題:https://github.com/primefaces/primeng/issues/1215。完美的作品! – Callehabana

相關問題