【问题标题】:ngx datatables 'Cannot set property 'offset' of undefined' when filteringngx datatables'无法设置未定义的属性'偏移''过滤时
【发布时间】:2017-05-12 23:22:06
【问题描述】:

我正在尝试在我的 Angular 2 应用程序中使用 ngx-datatables。我尝试按照示例进行操作: https://github.com/swimlane/ngx-datatable/blob/master/demo/basic/filter.component.ts 每当我在过滤器框中键入时,我都会收到错误消息:“无法设置未定义的属性‘偏移’”。我尽可能地将其删除,并对行进行硬编码以尝试查看问题所在,但我无法弄清楚。任何帮助表示赞赏。

组件:

import { Component, ViewChild } from '@angular/core';
import { DatatableComponent } from '../../../node_modules/@swimlane/ngx-datatable/src/components/datatable.component';


@Component({
    selector: 'app-school-list',
    template: `
    <input type='text'
      placeholder='Type to filter the name column...'
      (keyup)='updateFilter($event)' />
    <ngx-datatable
      #table
      [columns]="columns"
      [footerHeight]="50"
      [limit]="5"
      [rows]='rows'>
    </ngx-datatable>
  `
})

export class SchoolListComponent {
    temp = [];
    columns = [
        { prop: 'name' },
        { name: 'Gender' },
        { name: 'Company' }
    ];
    rows = [
        { name: 'Austin', gender: 'Male', company: 'Swimlane' },
        { name: 'Bobby', gender: 'Male', company: 'KFC' },
        { name: 'Christina', gender: 'Female', company: 'Burger King' },
        { name: 'Dustin', gender: 'Male', company: 'Swimlane' },
        { name: 'Ellie', gender: 'Female', company: 'KFC' },
        { name: 'Flower', gender: 'Female', company: 'Burger King' },
        { name: 'Gordon', gender: 'Male', company: 'Swimlane' },
        { name: 'Houston', gender: 'Male', company: 'KFC' },
        { name: 'Ian', gender: 'Male', company: 'Burger King' }
    ];

    @ViewChild(DatatableComponent) table: DatatableComponent;

    constructor() {
        this.temp = this.rows;
    }

    updateFilter(event) {
        const val = event.target.value.toLowerCase();

        const temp = this.temp.filter(function (d) {
            return d.name.toLowerCase().indexOf(val) !== -1 || !val;
        });

        this.rows = temp;
        this.table.offset = 0;
    }
}

【问题讨论】:

  • 您可以添加您的AppModule 吗?看起来 this.table 未定义。我看到奇怪的进口。不应该是import { DatatableComponent } from '@swimlane/ngx-datatable'吗?

标签: angular filtering ngx-datatable


【解决方案1】:

@yurzui 谢谢。 导入错误。在示例中为:“来自'../../src/components/datatable.component';”。

我试着用我的方法来做,只是我的文件夹是几个目录。他们的例子都没有这样做。他们需要更好的文档。

【讨论】:

    猜你喜欢
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 2022-10-30
    • 2023-02-10
    • 1970-01-01
    相关资源
    最近更新 更多