AngularMaterial的自动完成过滤
创始人
2024-10-28 09:01:27
0

Angular Material中提供了一个自动完成组件,但当列表的数量增多时,它的效果并不好。因此,我们需要筛选出我们想要的结果,以提高自动完成组件的可用性。

以下是如何使用Angular Material中的自动完成筛选器的示例代码:

HTML代码:


  
  
    
      {{ option.name }}
    
  

TypeScript代码:

import { Component } from '@angular/core';
import { FormControl } from '@angular/forms';
import { Observable } from 'rxjs/Observable';
import { startWith } from 'rxjs/operators/startWith';
import { map } from 'rxjs/operators/map';

export class Option {
  constructor(public name: string) { }
}

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  myControl = new FormControl();
  options = [
    new Option('Option 1'),
    new Option('Option 2'),
    new Option('Option 3'),
    new Option('Option 4'),
    new Option('Option 5')
  ];

  filteredOptions: Observable;

  constructor() {
    this.filteredOptions = this.myControl.valueChanges
      .pipe(
        startWith(''),
        map(val => this.filter(val))
      );
  }

  filter(val: string): Option[] {
    return this.options.filter(option =>
      option.name.toLowerCase().indexOf(val.toLowerCase()) === 0);
  }

  displayFn(option: Option): string {
    return option ? option.name : '';
  }
}

在这个例子中,我们创建了一个FormControl和一个由Option对象组成的选项数组,然后使用RxJS过滤器对这些选项进行筛选。我们还定义了一个用于显示选项名称的函数。最后,我们将这些过滤后的选项传递给mat-option指令,以在Angular Material的自动完成组件中展示它们。

相关内容

热门资讯

透视规律(wepoker)we... 透视规律(wepoker)wepoker有辅助插件吗(透视)本来是有挂(必备教程);1、wepoke...
透视神器!如何下载wepoke... 透视神器!如何下载wepoker安装包,wepoker辅助器免费(透视)扑克教程(有挂介绍)1、如何...
透视能赢(wepoker)we... 透视能赢(wepoker)wejoker手机版透视脚本(透视)原来真的有挂(安装教程)1、进入到we...
透视模拟器!淘宝买wepoke... 透视模拟器!淘宝买wepoker透视有用吗,wepoker养号规律(透视)必胜教程(有挂黑科技)1、...
透视智能ai(wepoker)... 透视智能ai(wepoker)wepoker有辅助吗(透视)竟然有挂(力荐教程);1、在wepoke...
透视玄学(wepoker)we... 透视玄学(wepoker)wepoker私人局透视方法(透视)一贯是有挂(新版2025教程)1)we...
透视规律!wepoker挂,w... 透视规律!wepoker挂,wepoker私人局辅助挂(透视)2025新版(有挂攻略)1、下载好we...
透视新版(wepoker)we... 透视新版(wepoker)wepoker辅助器安装包定制(透视)一直是有挂(安装教程)1、wepok...
透视能赢!wepoker插件功... 透视能赢!wepoker插件功能辅助器,wepoker底牌透视(透视)wpk教程(有挂揭秘);1、w...
透视有挂(wepoker)we... 透视有挂(wepoker)wepoker科技辅助器(透视)原来存在有挂(攻略教程)1)wepoker...