1

我已经为我的下拉创建了一个自定义管道但是过滤后的值似乎被传递给了组件,控制台中也没有错误。

我的组件 - 模板

 <select [(ngModel)]="userid"  (ngModelChange)="onChange()">
            <option value="">   </option>
            <option *ngFor = "let user of (users|startswith)" [value] = "user.id">
                {{user.first_name}}
            </option>
        </select>

  ngOnInit():void{
        this.appService.getUsers().then(user =>this.users = user);
    }

users 数组是从 Web 服务填充的

我的自定义管道

import { Pipe,PipeTransform } from '@angular/core'
import { Users } from './users'

@Pipe({
    name :'startswith',
})

export class PipeFilter implements PipeTransform{
    transform(value : any[]){
      if(value == null){
          return null;
      }else{

       return value.filter(item => {
            console.log(item.first_name.includes('e'));
       item.first_name.includes('e')}
       );
      }
    }

}

我的控制台输出告诉我管道正在被调用

4

1 回答 1

1

您缺少一项return声明:

export class PipeFilter implements PipeTransform{
    transform(value : any[]){
      if(value == null){
          return null;
      } else {
          return value.filter(item => {
          console.log(item.first_name.includes('e'));
          return item.first_name.includes('e')} // add return here
       );
      }
    }
}
于 2017-01-01T12:43:51.630 回答