primeNG 升级到 8.0.1 加载数据表时出错

问题描述 投票:0回答:4

我需要将我的 primeng 套餐从 7 升级到 8。

我收到以下错误:

anager-console/src/main/frontend/node_modules/primeng/primeng"'没有导出成员'DataTable'

在组件文件中找不到以下导入

import { DataTable } from 'primeng/primeng';

package.json

"private": true,
  "dependencies": {
    "@angular/animations": "7.2.15",
    "@angular/cdk": "7.3.7",
    "@angular/common": "7.2.15",
    "@angular/compiler": "7.2.15",
    "@angular/core": "7.2.15",
    "@angular/forms": "7.2.15",
    "@angular/http": "7.2.15",
    "@angular/platform-browser": "7.2.15",
    "@angular/platform-browser-dynamic": "7.2.15",
    "@angular/router": "7.2.15",
    "@fortawesome/fontawesome-free": "^5.7.2",
    "bootstrap": "^3.4.1",
    "classlist.js": "^1.1.20150312",
    "core-js": "^2.6.5",
    "floatthead": "^2.1.3",
    "jquery": "^3.4.1",
    "jquery-ui-dist": "^1.12.1",
    "ng-treetable": "^1.3.3",
    "ngx-bootstrap": "^3.2.0",
    "primeicons": "^1.0.0",
    "primeng": "^8.0.1",
    "rxjs": "^6.4.0",
    "rxjs-compat": "^6.4.0",
    "web-animations-js": "^2.3.1",
    "zone.js": "^0.8.29"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.13.9",
    "@angular/cli": "7.3.9",
    "@angular/compiler-cli": "7.2.15",
    "@angular/language-service": "7.2.15",
    "@types/jasmine": "^2.8.16",
    "@types/jasminewd2": "^2.0.6",
    "@types/node": "^10.14.1",
    "codelyzer": "^5.0.1",
    "eslint": "^5.16.0",
    "jasmine-core": "~3.3.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.1.3",
    "karma-chrome-launcher": "~2.2.0",
    "karma-cli": "~2.0.0",
    "karma-coverage-istanbul-reporter": "^2.0.5",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "protractor": "^5.4.1",
    "ts-node": "~7.0.1",
    "tslint": "~5.16.0",
    "typescript": "3.1.6"
  }

更新

我确实将 Angular 更新到了 8,但仍然有同样的问题。

经过进一步调查,DataTable 组件在 primeNG 8 中被删除。 我查看了发行说明,没有提到删除 DataTable 组件。现在我需要找出我该用什么来代替..

指向 primeNg 问题的链接

angular primeng
4个回答
8
投票

全部替换

import { DataTable } from 'primeng/primeng';
进口
{ Table } from 'primeng/table';
解决了我的问题


0
投票

datatable 已被弃用,取而代之的是 Turbotable:

TurboTable
Table is the successor of p-dataTable with a lightning fast performance (at least 10x faster) and excellent level of control over the presentation. p-table is called as TurboTable in order to differantiate if from the deprecated p-dataTable.

https://www.primefaces.org/primeng-7.1.3/#/table

我链接到版本 7,因为版本 8 甚至不再显示弃用消息。


0
投票

Angular 8 数据表消失了:

import { TableModule } from "primeng/table";

0
投票

Angular 8 中,DataTable 正在被删除......看起来。 所以,如果你的项目有这样的导入;

 **import { DataTable } from 'primeng/primeng';
    
   @ViewChild('dt') dataTable: DataTable;**

然后将其更改为,

**import { Table } from 'primeng/table';

@ViewChild('dt', {static: true}) dataTable: Table;**
© www.soinside.com 2019 - 2024. All rights reserved.