我正在尝试自动从< mat-autocomplete ...>中的选项集中选择第一个值.
export class ExampleComponent implements OnInit,AfterViewInit { @ViewChildren('auto') matAutocomplete: QueryList<any>; constructor(private cdr: ChangeDetectorRef) { } ngAfterViewInit() { this.foundItemsList.changes.subscribe(options => { // ---> This simply works! setTimeout(() => this.matAutocomplete.first._keyManager.setFirstItemActive(),0); // ---> This doesn't works?! No error shown,it just seems that the above function isn't called at all. this.matAutocomplete.first._keyManager.setFirstItemActive() this.cdr.detectChanges(); }); }
https://github.com/angular/material2/blob/master/src/lib/autocomplete/autocomplete.ts
AFAIK,detectChanges做的是检查当前组件及其所有子组件的变化检测器,对吗?但似乎它在上面的场景中不起作用.