2017-06-05 13 views
0

私のAngularプロジェクトでは、エンボスの値をコンボボックスに表示し、姓でソートする必要があります。角 - 姓のパイプでソートする方法

ここでは、パイプを実装しようとしているhtmlスニペットがあります。

<select id="empName" [(ngModel)]="selectedEmployee"> 
     <option selected="selected" disabled>Employee Name...</option> 
     <option *ngFor="let emp of empInfo; let i = index" [ngValue]="i">{{emp.EmpID | orderByLast}}</option> 
    </select> 

とここに私のorderByLast.pipe.tsです:

export class EmpInfo { 
 
    EmpKey: number; 
 
    EmpID: string; 
 
    Firstname: string; 
 
    LastName: string; 
 
    EmpStat: string; 
 
    StartDate: Date; 
 
    AdjustedStart: Date; 
 
    Anniversary: number; 
 
    PTOYear: number; 
 
    STDLTD: number; 
 
    Uncharged: number; 
 
    ETOEarned: number; 
 
    ETORequests: number; 
 
    ETORemaining: number; 
 
    PTOBase: number; 
 
    PTOCarry: number; 
 
    PTOBorrowed: number; 
 
    PTOBalance: number; 
 
    PTORequests: number; 
 
    PTORemaining: number; 
 
}

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

 
@Pipe({ name: 'orderByLast' }) 
 

 
export class OrderByLast implements PipeTransform { 
 
    transform(array: Array<string>): Array<string> { 
 
     array.sort((a: any, b: any) => { 
 
      if (a < b) { 
 
       return -1; 
 
      } 
 
      else if (a > b) { 
 
       return 1; 
 
      } 
 
      else { 
 
       return 0; 
 
      } 
 
     }); 
 
     return array; 
 
    } 
 
}

、ここでは私のEMP-info.ts配列です

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

@Pipe({ name: 'orderByLast' }) 

export class OrderByLast implements PipeTransform { 
    transform() { // add your object as a parameter to transform() 
    //write your code to do the sort 
    } 
} 

ここで「カスタムパイプ」セクションを参照してください:https://angular.io/docs/ts/latest/guide/pipes.html(@torazaburoがそれを指摘していることに注意してください、それも説明されているパイプを使用して並べ替えを行うことをお勧めしませんあなたはtransform機能を実装する必要が

+0

あなたは何か試しましたか? –

+0

'emp'オブジェクトの構造は何ですか?誰もそれを推測することはできません... – n00dl3

+1

パイプでソートしないでください。あなたが本当にとにかくしたいならば、ドキュメントを読んでください。 'transform'メソッドを実装する必要があります。 –

答えて

1

'付録:No FilterPipeまたはOrderByPipe'セクションのリンクにあります)

+0

パイプで並べ替えることを推奨する参考書を引用するのは奇妙です(https://angular.io/docs/ts/latest/guide/pipes.html#!#appendix-no-filterpipe- or-orderbypipe-)。 –

+0

あなたはこれを指摘した人にも指摘しました。彼らが行ってこれを読んで遵守するかどうかは、彼らの責任です。私の投稿への迅速な更新をさせてください。 – Tamas

+0

@torazaburo私はorderbylast.pipe.tsに入れたコードをポストして更新しました。これは空のコンボボックスを印刷しているだけです。どうしたら違うの? – asdf

関連する問題