私の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
機能を実装する必要が
あなたは何か試しましたか? –
'emp'オブジェクトの構造は何ですか?誰もそれを推測することはできません... – n00dl3
パイプでソートしないでください。あなたが本当にとにかくしたいならば、ドキュメントを読んでください。 'transform'メソッドを実装する必要があります。 –