Angular 如何只过滤离子2上对象的名称?
我有个问题。我有一个城市列表,但当我使用搜索栏时,我只想显示同名的城市 目前我正在尝试:Angular 如何只过滤离子2上对象的名称?,angular,ionic2,angular2-pipe,Angular,Ionic2,Angular2 Pipe,我有个问题。我有一个城市列表,但当我使用搜索栏时,我只想显示同名的城市 目前我正在尝试: <ion-searchbar [(ngModel)]="selectedCity" [showCancelButton]="shouldShowCancel" (ionCancel)="onCancel($event)"> </ion-searchbar> <ion-item *ngFor="let city of cit
<ion-searchbar
[(ngModel)]="selectedCity"
[showCancelButton]="shouldShowCancel"
(ionCancel)="onCancel($event)">
</ion-searchbar>
<ion-item *ngFor="let city of cities | orderBy: name | filter: selectedCity">
<ion-label>{{city.name}}</ion-label>
<button (click)="onActive(city.detalhe.id)" *ngIf="city.active" ion-button outline item-right>Desativar</button>
<button (click)="onActive(city.detalhe.id)" *ngIf="!city.active" ion-button outline item-right>Ativar</button>
</ion-item>
{{city.name}
德萨蒂瓦
阿提瓦尔
但我知道它永远不会起作用,因为我将对象城市发送到管道“过滤器”而不是名称,我如何才能只发送管道的名称?我需要“onActive”方法的对象
管道:
@Pipe({
name: "filter",
pure: false
})
export class FilterArrayPipe implements PipeTransform {
transform(items: Array<any>, conditions: {[field: string]: any}): Array<any> {
return items.filter(item => {
for (let field in conditions) {
if (item[field] !== conditions[field]) {
return false;
}
}
return true;
});
}
}
@管道({
名称:“过滤器”,
纯:假
})
导出类FilterArraype实现PipeTransform{
转换(项:数组,条件:{[field:string]:any}):数组{
返回项目。筛选器(项目=>{
for(让字段进入条件){
如果(项目[字段]!==条件[字段]){
返回false;
}
}
返回true;
});
}
}
“selectedCity”是一个字符串。当我用其他弦试着把管子拔出来时,它就起作用了。另一点,我需要过滤,比较对象的名称,但在此之后我需要整个对象。首先,看起来您需要发送到过滤器。第一个是文字“name”,第二个selectedCity在*ngFor of中不带引号。 然后您可以按项目[字段]!==进行筛选selectedCity-其中字段将包含“name” 我想您已经从
您也在order by example链接中看到了下面的评论。。。避免将管道用于orderby。。在组件中执行此操作。我个人会在组件级别解决这两个问题。您能编辑管道吗?我不知道怎么做。