【问题标题】:Cannot read property 'indexes' of undefined ngx-datatable无法读取未定义的 ngx-datatable 的属性“索引”
【发布时间】:2019-12-08 00:49:39
【问题描述】:

我使用 ngx-datatable 版本:15.0.2 和 Angular 版本:8.1.0,

我有这个错误:

ngx-logger.js:852 2019-07-30T15:04:42.930Z 错误 [main.js:4696] TypeError:无法读取 DatatableComponent.get [as allRowsSelected] 处未定义的属性“索引”(index.js:3263) 在 Object.eval [as updateDirectives] (DatatableComponent.html:19)

这是该表的 Angular 8.1.0 和版本 15.0.2 上的问题。这在 Angular 7 和该库的版本 14 上不是问题。

这是我的代码:

 <ngx-datatable 
    *ngIf='!containerLoader && (containers | async)?.length!=0'
    class="bootstrap striped" 
    [rows]="containers|async" 
    [columnMode]="'force'" 
    [headerHeight]="50" 
    [footerHeight]="50" 
    [rowHeight]="'auto'" 
    [externalPaging]="true"
    [count]="page.totalElements"
    [offset]="page.pageNumber"
    [limit]="page.size"
    (page)='loadData($event)'
    [selectCheck]="true"
    [displayCheck]="displayCheck"
    [loadingIndicator]="loadingIndicator"
    >
        <ngx-datatable-column [width]="80" name="" prop="status">
            <ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
                <div *ngIf="row.progress && row.progress <100; else status">
                    <span class=" progress-{{row.progress}} progress-circle " 
                        [attr.data-sectionvalue]="row.uuid">
                    </span>
                </div>
                <ng-template #status>
                    <span class="{{value |state:'badge'}}" 
                        [attr.data-sectionvalue]="row.uuid">
                    </span>
                </ng-template>
            </ng-template>
        </ngx-datatable-column>
        <ngx-datatable-column [width]="200" name="Name" prop="name">
            <ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
                <span>{{value}}</span>
            </ng-template>
        </ngx-datatable-column>
        <ngx-datatable-column name="Memory" prop="package.memory_limit">
            <ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
                <span>{{value |convert:2:true}}</span>
            </ng-template>
        </ngx-datatable-column>
        <ngx-datatable-column name="Disk" prop="package.disk_size">
            <ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
                <span>{{value |convert:2:true }}</span>
            </ng-template>
        </ngx-datatable-column>
        <ngx-datatable-column name="Created at" prop="created_at">
            <ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
                <span>{{value | date:"fullDate"}}</span>
            </ng-template>
        </ngx-datatable-column>
</ngx-datatable>

【问题讨论】:

    标签: angular angular8 ngx-datatable


    【解决方案1】:

    这可能与以下问题有关

    https://github.com/swimlane/ngx-datatable/issues/1725

    我设法通过设置显示我的表格

    [selectAllRowsOnPage]="false"
    

    【讨论】:

    • 我在 html 中没有 selectAllRowsOnPage 指令,默认为 false
    • @jscodejscode 你是对的!就我而言,删除 selectAllRowsOnPage 或将其设置为 false 都有效。 code code
    【解决方案2】:

    这是 ngx-datatable 的问题#1725,但它是开放的,所以你有两个选择,要么等待下一个版本 15.0.3,要么使用这个临时解决方案

    npm install git+https://github.com/zackarychapple/ngx-datatable.git -S

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      • 1970-01-01
      • 1970-01-01
      • 2015-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多