0

I wrote a search pipe to search a name and returns an array contains the name. Here searchTerm and key are strings.

My searchPipe is as follows:

export class SearchPipePipe implements PipeTransform {
  transform(data: any[], searchTerm: string, key: string): any[] {
    searchTerm = searchTerm.toUpperCase();
    return data.filter(item => {
      return item.key.toUpperCase().indexOf(searchTerm) !== -1
    });
  }
}

My html looks like

<input #input placeholder="Branch Name" id="search" [(ngModel)]="search" >
<div *ngFor="let item of BranchArray | searchPipe:input.value:'Br_Name'">
  {{item.Br_Name}}
</div>

But I got an error as "Cannot read property 'toUpperCase' of undefined" because I got item.key as undefined in the pipe. I want to convert the key from string

My array structure looks like

BranchArray=[{"Br_Name":"Branch Name 1"},
             {"Br_Name":"Branch Name 2"},
             {"Br_Name":"Branch Name 3"},
             {"Br_Name":"Branch Name 4"},
             {"Br_Name":"Branch Name 5"},
             {"Br_Name":"Branch Name 6"},
             {"Br_Name":"Branch Name 7"},
             {"Br_Name":"Branch Name 8"}]
sainu
  • 2,686
  • 3
  • 22
  • 41

0 Answers0