问题描述
我正在使用 PrimeNG 版本9,并且在尝试实现此示例时发现以下问题:https://primefaces.org/primeng/showcase/#/table/crud
我的问题与以下行实现的工具栏有关:
<p-toolbar styleClass="p-mb-4">
<ng-template pTemplate="left">
<button pButton pRipple label="New" icon="pi pi-plus" class="p-button-success p-mr-2" (click)="openNew()"></button>
<button pButton pRipple [label]="Delete" icon="pi pi-trash" class="p-button-danger" (click)="deleteSelectedProducts()" [disabled]="!selectedProducts || !selectedProducts.length"></button>
</ng-template>
<ng-template pTemplate="right">
<p-fileUpload mode="basic" accept="image/*" [maxFileSize]="1000000" label="Import" chooseLabel="Import" class="p-mr-2 p-d-inline-block"></p-fileUpload>
<button pButton pRipple label="Export" icon="pi pi-upload" class="p-button-help"></button>
</ng-template>
</p-toolbar>
问题是在我的代码中这些按钮未呈现。似乎该问题与两个 ng-template (左右)更相关,因为打开Chrome开发者工具后,我得到以下输出:
<p-toolbar _ngcontent-yuc-c193="" styleclass="p-mb-4" ng-reflect-style-class="p-mb-4">
<div role="toolbar" class="p-mb-4 ui-toolbar ui-widget ui-widget-header ui-corner-all ui-helper-clearfix" ng-reflect-ng-class="ui-toolbar ui-widget ui-widget">
<p _ngcontent-yuc-c193="">TEST</p>
<!--bindings={
"ng-reflect-name": "left"
}-->
<!--bindings={
"ng-reflect-name": "right"
}-->
</div>
</p-toolbar>
因此,您可以看到这两个 ng-template 似乎不能正常工作,并且没有填充内容。该渲染输出到底是什么意思?
我想念什么?我该如何解决?
解决方法
在 app.module.ts 中导入 SharedModule
import { SharedModule } from 'primeng/api';
此解决方案应与 pTemplate 配合使用