AngularMaterial自动完成:如何在选项选择时防止值更改?
创始人
2024-10-28 12:00:49
0次

可以通过使用MatAutocompleteSelectedEvent来获取当前所选项的值,并将它作为输入框的初始值进行设置,以阻止值的更改。下面是代码示例:


  
  
    
      {{option}}
    
  

import { Component, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';
import { Observable } from 'rxjs';
import { startWith, map } from 'rxjs/operators';
import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';

@Component({
  selector: 'app-autocomplete',
  templateUrl: './autocomplete.component.html',
  styleUrls: ['./autocomplete.component.css']
})
export class AutocompleteComponent implements OnInit {
  myControl = new FormControl();
  options: string[] = ['Angular', 'React', 'Vue'];
  filteredOptions: Observable;

  constructor() { }

  ngOnInit(): void {
    this.filteredOptions = this.myControl.valueChanges.pipe(
      startWith(''),
      map(value => this._filter(value))
    );
  }

  private _filter(value: string): string[] {
    const filterValue = value.toLowerCase();

    return this.options.filter(option => option.toLowerCase().includes(filterValue));
  }

  onOptionSelected(event: MatAutocompleteSelectedEvent): void {
    this.myControl.setValue(event.option.value, {emitEvent: false});
  }
}

在这个示例中,选中一个选项时,它不会改变输入框的值,而是将该选项设置为输入框的初始值。值的更改会被阻止。

相关内容

热门资讯

玩家必看教程!边锋斗地主辅助功... 玩家必看教程!边锋斗地主辅助功能神器,边锋斗地主都是有辅助神器(有辅助挂讲解)1、边锋斗地主免费辅助...
查到实测!紫峰台州麻将透视功能... 查到实测!紫峰台州麻将透视功能插件,紫峰台州麻将一直真的有透视插件(有辅助挂辅助)1、紫峰台州麻将有...
安装程序教程!微乐陕西挖坑透视... 安装程序教程!微乐陕西挖坑透视挂功能工具,微乐陕西挖坑真是是有透视挂工具(确实有辅助挂)所有人都在同...
重大消息!蜜瓜大厅辅助器功能方... 重大消息!蜜瓜大厅辅助器功能方法,蜜瓜大厅切实存在有辅助器方法(竟然有辅助挂)1、超多福利:超高返利...
六分钟了解!开心跑得快透视功能... 六分钟了解!开心跑得快透视功能教程,开心跑得快竟然存在有透视教程(有辅助挂方略)1)开心跑得快有没有...
指导大家!天下星空棋牌开挂功能... 指导大家!天下星空棋牌开挂功能软件,天下星空棋牌一直真的是有开挂软件(有辅助挂秘诀)1、天下星空棋牌...
盘点一款!赣牌圈打炸透视功能技... 盘点一款!赣牌圈打炸透视功能技巧,赣牌圈打炸真是是有透视技巧(有辅助挂总结)1、下载好赣牌圈打炸正确...
揭秘!老友十三水透视功能app... 揭秘!老友十三水透视功能app,老友十三水一直真的有透视app(有辅助挂方式)1、很好的工具软件,可...
科技揭秘!微乐麻将辅助器功能技... 科技揭秘!微乐麻将辅助器功能技巧,微乐麻将果然真的有辅助器技巧(有辅助挂秘笈)1)微乐麻将免费钻石:...
最新技巧!新毫互娱辅助功能方法... 最新技巧!新毫互娱辅助功能方法,新毫互娱切实真的是有辅助方法(竟然有辅助挂)进入游戏-大厅左侧-新手...