ОБНОВЛЕНИЕ: : РАЗРЕШЕНО .. Вам нужно использовать * 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 для итерации и размещения строк.