angular2中引用kendoUI-combobox进行过滤

*
引用kendoUI-combobox组件,并过滤
定义组件里需要用到的属性:
allowCustom:是否允许用户输入不在数据集中的值,默认false
data:数据集
filterChange:定义过滤方法
filterable:是否过滤
valuePrimitive:是否原始类型数据
ngStyle:样式

<kendo-combobox
      [allowCustom]="false"
      [data]="filterData"
      (filterChange)="modelChanged.next($event)"
      [(ngModel)]="value"
      [filterable]="true"
      [valuePrimitive]="true"
      [ngStyle]="ngStyle"
    ></kendo-combobox>
  public options: any[];

  public ngStyle = {'width': '100%'};

  public filterData = [];

  modelChanged: Subject<object> = new Subject<object>();

  handFilter(value) {
    let datas = this.options;
    this.filterData = [];
    if (value)
      datas = datas.filter(i => i.indexOf(value) != -1);
      datas.forEach(i => {
      this.filterData.push(i);
    });
  }

  ngOnInit() {
    this.Svc.query("基础代码#地区").then(data => {
      this.options = [];
      data.forEach(m => {
        this.options.push(m["地区名称"]);
      })
      this.filterData = this.options;
    });
    this.modelChanged.debounceTime(300).distinctUntilChanged().subscribe(m => this.handFilter(m));
  }

sea.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章