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});
  }
}

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

相关内容

热门资讯

透视app!sohoo辅助(透... 透视app!sohoo辅助(透视)揭秘教程(2020已更新)(哔哩哔哩);1、下载好sohoo辅助辅...
透视模拟器!aapoker透视... 透视模拟器!aapoker透视脚本(透视)透视脚本下载(切实是有挂)1、首先打开aapoker透视脚...
透视科技!pokemmo辅助器... 透视科技!pokemmo辅助器脚本下载(透视)黑科技教程(2024已更新)(哔哩哔哩);一、poke...
透视游戏!aapoker真的假... 透视游戏!aapoker真的假的(透视)ai插件(切实是有挂)1)aapoker真的假的辅助挂:进一...
透视脚本!哈糖大菠萝有没有挂(... 透视脚本!哈糖大菠萝有没有挂(透视)wepoke教程(2026已更新)(哔哩哔哩)1、上手简单,内置...
透视软件!aapoker辅助器... 透视软件!aapoker辅助器是真的吗(透视)辅助(真是是有挂)1、全新机制【aapoker辅助器是...
透视挂透视!werplan辅助... 透视挂透视!werplan辅助软件(透视)线上教程(2020已更新)(哔哩哔哩)1、werplan辅...
透视辅助!aapoker怎么控... 透视辅助!aapoker怎么控制牌(透视)透视脚本(原来有挂)1、游戏颠覆性的策略玩法,独创攻略技巧...
透视辅助!pokemmo手机版... 透视辅助!pokemmo手机版脚本免费(透视)德州教程(2023已更新)(哔哩哔哩)1、玩家可以在p...
透视安卓版!aapoker怎么... 透视安卓版!aapoker怎么控制牌(透视)插件(本来存在有挂)1)aapoker怎么控制牌辅助挂:...