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

时间:2018-08-27 06:20:01

标签: angular typescript angular-material

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

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

3 个答案:

答案 0 :(得分:4)

使用FormControl SetValue方法设置默认值

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

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

答案 1 :(得分:2)

设置FormControl的初始值

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

答案 2 :(得分:1)

使用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]))
      );
  }