【问题标题】:how to add filter in angular2?如何在angular2中添加过滤器?
【发布时间】:2016-02-11 09:13:38
【问题描述】:

您能否告诉我如何在 angular2 中添加过滤器。实际上,每当用户在输入字段中输入任何内容时,它都应该像在自动完成中一样过滤列表..我们可以在 angular 2 中执行吗?

这是我的代码 http://plnkr.co/edit/hfhY6EdLVNOLP6d4QsWP?p=preview

<div>
  <input type='text' #inputD>
     <ul>
      <li *ngFor="#elt of elements | async">{{elt.name}}</li>
    </ul>
</div>

这里更新是我的过滤器

http://plnkr.co/edit/hfhY6EdLVNOLP6d4QsWP?p=preview

import {Injectable, Pipe} from 'angular2/core';

@Pipe({
  name: 'filter'
})
@Injectable()
export class Listfilter {
  transform(items: any[], args: any[]): any {
    return items.filter(item => item.column === args[0]);
  }
}

如何在 Angular 2 中将按键向上和向下按键事件添加到过滤列表

【问题讨论】:

标签: angularjs angular angular2-routing


【解决方案1】:

您需要将管道添加到您要使用它的注释中

@Component({

    templateUrl: 'home/home.html',
    providers: [SharedService],
    pipes: [Listfilter]
})    

并像使用它

<li *ngFor="#elt of elements | async | filter:arg1:arg2">{{elt.name}}</li>

虽然我自己还没试过。

管道也不应该扔到null

export class Listfilter {
  transform(items: any[], args: any[]): any {
    if(!items) {
      return null;
    }
    return items.filter(item => item.name === args[0]);
  }
}

【讨论】:

猜你喜欢
  • 2017-02-08
  • 1970-01-01
  • 1970-01-01
  • 2017-06-19
  • 2012-10-21
  • 2020-10-07
  • 2014-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多