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、玩家可以在指尖四川麻将线上大...
六分钟了解!乐乐围棋入门透视挂... 六分钟了解!乐乐围棋入门透视挂脚本软件,乐乐围棋入门竟然真的是有透视挂科普app1)乐乐围棋入门辅助...