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

相关内容

热门资讯

必备辅助推荐!德普之星私人局辅... 必备辅助推荐!德普之星私人局辅助器,兴动互娱辅助,必备教程(详细教程)-哔哩哔哩1、完成德普之星私人...
今日公布!wepoker辅助真... 今日公布!wepoker辅助真的假的,决胜麻架胡易辅助,总结教程(有挂分享)-哔哩哔哩1、让任何用户...
科普分享!wepoker透视脚... 科普分享!wepoker透视脚本视频,阿拉斗牌辅助,规律教程(真实有挂)-哔哩哔哩1、任何wepok...
带你了解!hhpoker有透视... 带你了解!hhpoker有透视挂挂,欢聚水鱼神器,解说技巧(确实有挂)-哔哩哔哩hhpoker有透视...
一分钟教会你!wepoker私... 一分钟教会你!wepoker私人定制透视,三哥玩app辅助,揭秘教程(有挂实锤)-哔哩哔哩1、实时w...
重大通报!newpoker可以... 重大通报!newpoker可以安装脚本,荔枝竞技破解版,2025教程(有挂解惑)-哔哩哔哩1)new...
揭秘一下!hhpoker到底可... 揭秘一下!hhpoker到底可以透视挂,道游辅助脚本,透视教程(新版有挂)-哔哩哔哩1、这是跨平台的...
一分钟揭秘!aapoker a... 一分钟揭秘!aapoker ai插件,丽水跑得快辅助工具,高科技教程(有挂教学)-哔哩哔哩小薇(透视...
必知教程!德扑HHpoker有... 必知教程!德扑HHpoker有挂,宁夏欢乐划水辅助,详细教程(有挂功能)-哔哩哔哩1、让任何用户在无...
热点推荐!wejoker辅助器... 热点推荐!wejoker辅助器可以卖,新道游戏辅助器安装包,必赢方法(有挂解密)-哔哩哔哩1、金币登...