Angular 2 自定义管道文件管理器问题
Angular 2 Custom pipe filer issue
我想在 employeemale.ts 组件中使用自定义管道根据男性和女性过滤数据,当我在 ngfor
循环中的自定义管道中使用女性时,它根据女性显示数据:
作品:
<ng-container *ngFor="let empLists of empList | filterdata:'female'">
但是当我使用 men 时它会显示所有 json 数据
无效:
<ng-container *ngFor="let empLists of empList | filterdata:'male'">
这是我的组件html
<div class="widget box">
<div class="widget-header"> <h4><i class="fa fa-bars"></i> Female Employe Details</h4></div>
</div>
当我根据女性过滤数据时:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filterdata'
})
export class FilterdataPipe implements PipeTransform {
transform(empList: Array<any>, arg: string): any {
debugger
return empList.filter(function(empLists){
//console.log(empLists)
return empLists.gender.toLowerCase().includes(arg.toLowerCase());
})
}
}
<div class="widget-content">
<table class="table table-bordered">
<thead>
<tr>
<th>#employee ID</th>
<th>Name</th>
<th>Gender</th>
</tr>
</thead>
<ng-container *ngFor="let empLists of empList | filterdata:'male'">
<tr>
<th>{{empLists.id}}</th>
<th>{{empLists.fullName}}</th>
<th>{{empLists.gender}}</th>
</tr>
</ng-container>
</tbody>
</table>
这是我的定制烟斗filterdata.pipe.ts
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filterdata'
})
export class FilterdataPipe implements PipeTransform {
transform(empList: Array<any>, arg: string): any {
debugger
return empList.filter(function(empLists){
//console.log(empLists)
return empLists.gender.toLowerCase().includes(arg.toLowerCase());
})
}
}
简单地使用相等而不是包含:
transform(empList: Array<any>, arg: string): any {
return empList.filter(function(emp){
//console.log(empLists)
return emp.gender.toLowerCase() === arg.toLowerCase();
});
使用 include 会失败,因为你的 'female'
里面有一个 'male'
我想在 employeemale.ts 组件中使用自定义管道根据男性和女性过滤数据,当我在 ngfor
循环中的自定义管道中使用女性时,它根据女性显示数据:
作品:
<ng-container *ngFor="let empLists of empList | filterdata:'female'">
但是当我使用 men 时它会显示所有 json 数据
无效:
<ng-container *ngFor="let empLists of empList | filterdata:'male'">
这是我的组件html
<div class="widget box">
<div class="widget-header"> <h4><i class="fa fa-bars"></i> Female Employe Details</h4></div>
</div>
当我根据女性过滤数据时:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filterdata'
})
export class FilterdataPipe implements PipeTransform {
transform(empList: Array<any>, arg: string): any {
debugger
return empList.filter(function(empLists){
//console.log(empLists)
return empLists.gender.toLowerCase().includes(arg.toLowerCase());
})
}
}
<div class="widget-content">
<table class="table table-bordered">
<thead>
<tr>
<th>#employee ID</th>
<th>Name</th>
<th>Gender</th>
</tr>
</thead>
<ng-container *ngFor="let empLists of empList | filterdata:'male'">
<tr>
<th>{{empLists.id}}</th>
<th>{{empLists.fullName}}</th>
<th>{{empLists.gender}}</th>
</tr>
</ng-container>
</tbody>
</table>
这是我的定制烟斗filterdata.pipe.ts
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filterdata'
})
export class FilterdataPipe implements PipeTransform {
transform(empList: Array<any>, arg: string): any {
debugger
return empList.filter(function(empLists){
//console.log(empLists)
return empLists.gender.toLowerCase().includes(arg.toLowerCase());
})
}
}
简单地使用相等而不是包含:
transform(empList: Array<any>, arg: string): any {
return empList.filter(function(emp){
//console.log(empLists)
return emp.gender.toLowerCase() === arg.toLowerCase();
});
使用 include 会失败,因为你的 'female'
里面有一个 'male'