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、玩家可以在永盛透视最简...
必备辅助推荐!天下透视挂功能a... 必备辅助推荐!天下透视挂功能app,天下真是真的是有透视挂app(有辅助挂技术)1、每一步都需要思考...