1

primeng在我的angular2应用程序中使用。我正在使用DataTable我的表格视图,当我尝试按照HEREcheckbox with paging中的说明进行操作时,我遇到了错误......

错误 ...

Unhandled Promise rejection: Template parse errors:
Can't bind to 'headerCheckboxToggleAllPages' since it isn't a known property of 'p-dataTable'.
1. If 'p-dataTable' is an Angular component and it has 'headerCheckboxToggleAllPages' input, then verify that it is part of this module.
2. If 'p-dataTable' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. [ERROR ->][headerCheckboxToggleAllPages]="true">
  <p-col"): ViewProductsComponent@22:36 ; Zone: <root> ; Task: Promise.then ; Value: SyntaxError Error: Template parse errors:

我是否需要为此导入任何特定的模块,因为文档没有说明导入,我在这里遇到了类似的问题,并且在导入模块后它起作用了。

这是我的view.html

<p-dataTable [value]="cars" [(selection)]="selectedCars3" [paginator]="true" [rows]="5" [headerCheckboxToggleAllPages]="true" sortMode="multiple" [selectionMode]="userRole=='user'? 'none' : 'single' ">
    <p-header>Checkbox Multiple Selection with Paging</p-header>
    <p-column [style]="{'width':'38px'}" selectionMode="multiple"></p-column>
    <p-column field="vin" header="Vin"></p-column>
    <p-column field="year" header="Year"></p-column>
    <p-column field="brand" header="Brand"></p-column>
    <p-column field="color" header="Color"></p-column>
    <p-footer>
        <ul>
            <li *ngFor="let car of selectedCars3" style="text-align: left">{{car.vin + ' - ' + car.brand + ' - ' + car.year + ' - ' + car.color}}</li>
        </ul>
    </p-footer>
</p-dataTable>

并且@NgModule.imports是...

imports: [
BrowserModule,
FormsModule,
ReactiveFormsModule,
HttpModule,
routing,
DropdownModule,
DataTableModule,
DialogModule,
ConfirmDialogModule,
ContextMenuModule,
PanelModule,
OverlayPanelModule,
PanelMenuModule,
GrowlModule,
FileUploadModule,
InputSwitchModule,
TreeTableModule,
SharedModule,
CalendarModule,
ClipboardModule,
CommonModule,
SpinnerModule.forRoot(),
TabViewModule,
AutoCompleteModule
]

我的 package.json 依赖项...

"dependencies": {
    "@angular/common": "^2.3.1",
    "@angular/compiler": "^2.3.1",
    "@angular/core": "^2.3.1",
    "@angular/forms": "^2.3.1",
    "@angular/http": "^2.3.1",
    "@angular/platform-browser": "^2.3.1",
    "@angular/platform-browser-dynamic": "^2.3.1",
    "@angular/router": "^3.3.1",
    "primeng": "^2.0.1",
    "rxjs": "^5.0.1"
}

我也试过 pprimeng:4.1.0-rc.2有同样的问题。请建议。谢谢

4

2 回答 2

1

您必须导入

import {DataTableModule,SharedModule} from 'primeng/primeng';

并在@NgModule.imports 中注册

于 2017-06-24T06:13:41.663 回答
0

目前尚不清楚错误背后的原因可能是什么但您可以确保某些事情,例如 -

如果您正在更改 package.json 中的版本,要反映版本更改,您必须运行命令

npm install

更新依赖项后,可以通过查看组件的定义文件来确认组件是否存在某些属性。例如在中查找“headerCheckboxToggleAllPages”

node_modules\primeng\components\datatable\datatable.d.ts

希望这可以帮助。

于 2017-06-30T09:16:11.933 回答