具有特定搜索文字的ngFor中的角度2/4过滤下拉列表

时间:2018-08-06 07:38:50

标签: javascript html angular angular-ui

嗨,我正在尝试使用* ngFor显示三个下拉列表,以便使用相同的用户列表。但是在每个下拉列表中,我都使用过滤器在每个下拉列表中显示特定类型的用户。

在我看来,我正在使用* ngFor循环显示三个下拉菜单。 比起使用筛选器,我正在筛选某些结果

         <table>
                <tr>
                  <td>
                    <md-select name="aId" [ngModel]="rout?.aId"  (ngModelChange)="rout.aId=$event" (change)="changedept(rout.aId)">
                      <md-option *ngFor="let user of users | userFilter: qUsers y" [value]="user._id">{{user.username}}</md-option>
                    </md-select>
                  </td>
                </tr>
         </table>
check(doc){   
     for(var i=0;i<3;i++){
      this.qUsers='';
       if(i==0){
         this.qUsers='Dev';
       }
      if(i==1){
         this.qUsers='Prod';
       }
       if(i==2){
        this.qUsers='Eng';
      }


@Pipe({ name: 'userFilter' ,
       pure: false
})
export class UserFilterPipe implements PipeTransform {
  transform(users: IUser[],  searchTerm: string) : IUser[] {
  if(!users || !searchTerm) {
    return users
  }
  return users.filter(user =>user.department.deptname.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 )

   }
}

代码工作正常。它也在过滤。但是,问题出在每个下拉列表中,它显示的过滤结果基于上次使用的qUsers为“ Eng”的结果 请让我知道如何使用Dev,Prod和Eng过滤显示每个下拉列表。 谢谢

0 个答案:

没有答案