角度过滤管不能正常工作

时间:2018-02-20 09:14:03

标签: angular pipe

我的数据库中有两个不同的列中的名字和姓氏,因此我必须以这种方式将其绑定,以便在我的表格中将其显示为1。

但是当我在名字和姓氏之间输入空格时,我的搜索功能无效:

<tbody>
    <tr *ngFor="let e of employeelist | filter : searchByName">
        <td>{{e.firstName}} {{e.lastName}}</td>


 import { Injectable, Pipe, PipeTransform } from '@angular/core';

  @Pipe({
    name: 'filter'
   })

   @Injectable()
  export class FilterEmployeesPipe implements PipeTransform {
      transform(value: any, input: string) {
    if (input) {
   input = input.toLowerCase();
   //filter je filter() metod iz array.prototype.filter
   return value.filter(function (employee: any) {

       return ((employee.firstName.toLowerCase().indexOf(input)) && 
     (employee.lastName.toLowerCase().indexOf(input))) > -1;
      })
   }
   return value;
    }
     }

2 个答案:

答案 0 :(得分:1)

使用这样做

<td>{{e.firstName + '&nbsp;' +e.lastName}}</td>

答案 1 :(得分:0)

您需要在用于匹配输入的字符串中包含空格

return (employee.firstName.toLowerCase() + ' ' employee.lastName.toLowerCase()).indexOf(input) > -1;

否则你将苹果与梨进行比较。