import {Pipe, PipeTransform} from '@angular/core';
// # Filter Array of Objects
@Pipe ({ name: 'filter' })
export class FilterArrayPipe implements PipeTransform {
transform(value:any, filter: string, item: any) {
// filter = filter ? filter.toLocaleLowerCase() : null;
if (!filter) {
return value;
} else if (value) {
return value.filter(item=> {
for (let key in item) {
if ((typeof item[key] === 'string' || item[key] instanceof String) &&
(item[key].indexOf(filter) !== -1)) {
return true;
}
}
});
}
}
}
-2
A
ответ
2
Преобразовать их нижним регистр перед сравнением:
(item[key].toLowerCase().indexOf(filter.toLowerCase()) !== -1)) {
+1
Он работает, отлично. – mike
-2
<div class='card-block'>
<ul>
<li *ngFor="let role of roles" [class.mysearch]="!(role.roleName.toLowerCase().indexOf(searchRole.toLowerCase())!== -1)" pDraggable='aroles' (onDragStart)='dragStart($event,role)'
(onDragEnd)='dragEnd($event)' [@flyInOut]="'in'">
<span class='col-md'>{{role.careerGroupId.technology}} - {{role.roleName}} ({{role.careerGroupId.domain}}) </span>
<span class="btn-success flex-xs-right" (click)="insertSelectedRole(role)">
<i class="fa fa-lg fa-angle-double-right"></i>
</span>
</li>
</ul>
<div class=”row”>
<div class="Filder">Filter by:<input [(ngModel)]="searchRole" type="text" class="Searchtextbox" placeholder="Search here"
/></div>
</div>
</div>
Что вопрос? –
Как я могу сделать этот регистр нечувствительным? этот фильтр работает только с учетом регистра – mike