1

我正在使用一个 p-table,它的“scrollable”设置为“true”,“scrollHeight”设置为“288px”。当表格的数据较少且高度仍然小于 288px 时,就会出现问题。当时显示的错误如下。

core.js:6486 ERROR TypeError: Cannot read properties of undefined (reading 'nativeElement')
    at Table.scrollTo (primeng-table.js:1189)
    at Table.resetScrollTop (primeng-table.js:1153)
    at Table._filter (primeng-table.js:1028)
    at Table.ngOnChanges (primeng-table.js:262)
    at Table.rememberChangeHistoryAndInvokeOnChangesHook (core.js:1498)
    at callHook (core.js:2536)
    at callHooks (core.js:2495)
    at executeInitAndCheckHooks (core.js:2446)
    at selectIndexInternal (core.js:8454)
    at Module.ɵɵadvance (core.js:8437)

这是因为当表格高度小于 scrollHeight 时,'viewWrapperChild' 属性仍未定义。但是我的表格是动态的,因为我想要的数据有时会增加或减少影响表格高度,这需要我使用滚动功能。

如何避免出现此错误?

代码如下。

<p-table
    [value]="records"
    [scrollable]="true"
    scrollHeight="288px"
> 
   <ng-template let-col pTemplate="header">
              //Headings
   </ng-template>
   <ng-template
        let-col
        let-rowData
        let-i="rowIndex"
        pTemplate="body"
    > 
       //Table body
    </ng-template>

</p-table>

编辑:Angular 版本:12.2.12,Primeng 版本:12.2.2。

4

1 回答 1

0

我遇到了同样的问题,这是我经过一些实验后发现的: PrimeNg Table has a TableState: https://www.primefaces.org/primeng/v12-lts/#/table。我注意到,当状态存储在 localstorage 中并重新访问带有表的页面时,会引发错误。我从本地存储中删除了条目,问题就消失了......

于 2022-02-15T15:44:52.577 回答