2017-05-11 5 views
0

각도 2 앱에서 ngx-datatables를 사용하려고합니다. 나는 다음 예제를 시도 : https://github.com/swimlane/ngx-datatable/blob/master/demo/basic/filter.component.ts 나는 필터 상자에 입력 할 때마다 "정의되지 않은 속성 '오프셋'속성을 설정할 수 없습니다. 나는 가능한 한 줄무늬를 줄 였고, 무엇이 잘못되었는지 알아보기 위해 행을 하드 코딩했지만, 나는 그것을 알 수 없다. 어떤 도움을 주셔서 감사합니다.ngx datatables '필터링 할 때'offset 'of undefined'속성을 설정할 수 없습니다.

구성 요소 :

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; 
    } 
} 
+0

'AppModule'을 추가 할 수 있습니까? 'this.table'이 정의되지 않은 것 같습니다. 그리고 나는 이상한 수입품을 본다. '@ swimlane/ngx-datatable'에서'{DatatableComponent}를 가져 오지 않아야합니까? – yurzui

+0

실제 모습보기 https://plnkr.co/edit/eLuuvtN1NzoIZWhqGCyy?p=preview – yurzui

답변

0

@yurzui 감사합니다. 가져 오기가 잘못되었습니다. 예를 들어, 다음과 같습니다. "from '../../src/components/datatable.component';".

나는 그걸하려고했는데, 내 폴더는 몇 개의 디렉토리 였어. 그들의 예 중 누구도 그렇게하지 않습니다. 그들은 더 나은 문서화가 필요합니다.