我写了一个搜索管道来搜索名称并返回一个包含该名称的数组。此处key
和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
});
}
}
是字符串。
我的searchPipe如下:
<input #input placeholder="Branch Name" id="search" [(ngModel)]="search" >
<div *ngFor="let item of BranchArray | searchPipe:input.value:'Br_Name'">
{{item.Br_Name}}
</div>
我的HTML看起来像
item.key
但我得到一个错误,因为“无法读取属性'toUpperCase'未定义”,因为我在管道中将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"}]
定义为未定义。我想从字符串转换键
我的数组结构类似于
{{1}}