Проблема строкового фильтра Clarity Datagrid по умолчанию - PullRequest
0 голосов
/ 06 октября 2018

ОБНОВЛЕНИЕ: : РАЗРЕШЕНО .. Вам нужно использовать * clrDgItems вместо * ngFor для итерации и размещения строк.

Продолжая самообучение угловатости и ясности, я как бы застрял в вышеуказанной проблеме.

Вначале: угловая версия: 6 Ясность версии: 0.13.4

Я пробую пример Basic Filtering (как показано в примере), и он просто не работает для меня.

а.Определен класс, реализующий clrDatagridStringFilterInterface b.используемое определение в

Хотя пользовательский интерфейс для фильтра появляется ... он просто не запускает метод 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.компонентный фрагмент HTML

<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>

Что я делаю не так? Некоторые примеры явидел на Stackblitz..просто использует 'clrDgField' для определения столбца, и это просто работает ... Не видел каких-либо определений и т. д .. однако они, кажется, используют Clarity v0.11.

Спасибо вadvance.

ОБНОВЛЕНИЕ: : RESOLVED .. Вам нужно использовать * clrDgItems вместо * ngFor для итерации и размещения строк.

...