UPDATE:RESOLVED ..您需要使用* clrDgItems而不是* ngFor来迭代和布局行 .

继续我的角度和清晰度的自我教育,我有点坚持上述问题 .

首先:Angular版本:6 Clarity版本:0.13.4

我正在尝试Basic Filtering示例(如示例中所示),它似乎并不适合我 .

一个 . 定义了一个实现clrDatagridStringFilterInterface b的类 . 用过的定义

虽然ui用于过滤器的出现......但它似乎并没有在课堂上激发'accept'方法 .

这是片段

1. user.ts

export class User {
  id: any;
  name: any;
  age: any;
  rem: any;

}

2. NameFilter

class NameFilter implements ClrDatagridStringFilterInterface<User> {
    accepts(user: User, search: string):boolean {
      console.log(user);
        return "" + user.name == search
            || user.name.toLowerCase().indexOf(search) >= 0;
    }
}

**看来这个过滤器甚至没有被激活,因为我没有console.log(用户)......

3. TestComponent.ts

export class TestComponent implements OnInit {
  nameFilter = new NameFilter();
  ....
}

4.component html snippet

<clr-dg-column>Id</clr-dg-column>
            <clr-dg-column clrDgField="name">Name
              <clr-dg-string-filter [clrDgStringFilter]="nameFilter"></clr-dg-string-filter>
            </clr-dg-column>
            <clr-dg-column>Age</clr-dg-column>
            <clr-dg-column>Rem</clr-dg-column>

            <clr-dg-row *ngFor="let rec of data" [clrDgItem]="rec">


                <clr-dg-cell>{{rec.id}}</clr-dg-cell>
                <clr-dg-cell>{{rec.name}}</clr-dg-cell>
                <clr-dg-cell>{{rec.age}}</clr-dg-cell>
                <clr-dg-cell>{{rec.rem}}</clr-dg-cell>


            </clr-dg-row>

What am I doing wrong ? 我在Stackblitz上看到的一些例子......只是在列定义上使用'clrDgField'它只是工作...没有看到任何定义等...但是,它们似乎使用了Clarity v0.11 .

先感谢您 .

UPDATE:RESOLVED ..您需要使用* clrDgItems而不是* ngFor来迭代和布局行 .