在自动完成(材料)中进行默认选择

Posted

技术标签:

【中文标题】在自动完成(材料)中进行默认选择【英文标题】:To make default selection in autocomplete (material) 【发布时间】:2019-02-01 15:37:42 【问题描述】:

我正在为我的项目使用自动完成组件(即显示值自动完成)。这是stackblitz 示例

如何将任何一个列表项设置为默认值?像这样

【问题讨论】:

【参考方案1】:

使用 FormControl SetValue 方法设置默认值

this.myControl.setValue( name: 'Mary');

例如:https://stackblitz.com/edit/angular-8r153h

【讨论】:

@Chellappan,传递不同的值和文本怎么样? 你的意思是不同的键值对?【参考方案2】:

设置FormControl的初始值

myControl = new FormControl(name: 'Shelley');

【讨论】:

【参考方案3】:

使用 RxJs 的 tap 运算符:stackblitz

ngOnInit() 
    this.filteredOptions = this.myControl.valueChanges
      .pipe(
        startWith<string | User>(''),
        map(value => typeof value === 'string' ? value : value.name),
        map(name => name ? this._filter(name) : this.options.slice()),
        tap(() => this.myControl.setValue(this.options[0]))
      );
  

【讨论】:

感谢您的帮助。 这个例子没有在输入值时过滤值。

以上是关于在自动完成(材料)中进行默认选择的主要内容,如果未能解决你的问题,请参考以下文章