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的自动完成组件中展示它们。

相关内容

热门资讯

透视安装!wepower辅助器... 透视安装!wepower辅助器,wepoke外挂,详细透视必赢方法1、完成wepower辅助器的残局...
aapoker透明挂!德州扑克... aapoker透明挂!德州扑克微扑克俱乐部(透视)一贯是真的有挂(详细辅助详细教程)是一款可以让一直...
透视玄学!wepoke确实有挂... 透视玄学!wepoke确实有挂,wepoke辅助透视教程,详细透视2025新版教程1、上手简单,内置...
aapoker透明挂!手机德州... aapoker透明挂!手机德州app辅助(透视)原先是真的有挂(详细辅助分享教程)1、许多玩家不知道...
透视科技!wepoke辅助挂,... 透视科技!wepoke辅助挂,wepoke智能ai,详细透视可靠教程1、该软件可以轻松地帮助玩家将w...
微扑克辅助机器人!德州之星ap... 1、微扑克辅助机器人!德州之星app辅助(透视)往昔有挂(详细辅助可靠教程);代表性(透视辅助软件透...
透视规律!wepoke真的有挂... 透视规律!wepoke真的有挂,wopoker游戏辅助器,详细透视靠谱教程1)wepoke真的有挂辅...
德州ai辅助软件!govern... 您好,德州ai辅助软件这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
透视黑科技!aapoker透明... 透视黑科技!aapoker透明挂,wepower让系统发好牌,详细透视透视教程1、每一步都需要思考,...
德扑之星猫腻!wpk被系统针对... 德扑之星猫腻!wpk被系统针对(透视)固有是真的有挂(详细辅助微扑克教程)您好,德扑之星猫腻,确实是...