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

return1 つのステートメントがありません:

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 に答える