Angular material自动完成组件在输入框值改变时并不会自动触发onChange事件。如果需要在输入框值改变时触发操作,可以使用RxJS中的valueChanges方法监听输入框,代码如下:
// 导入FormControl和debounceTime import {FormControl} from '@angular/forms'; import {debounceTime} from 'rxjs/operators';
// 在组件中定义输入框控件并监听值改变事件 searchInputControl = new FormControl();
ngOnInit() { // 订阅输入框值改变事件,并在500ms时延后触发 this.searchInputControl.valueChanges.pipe( debounceTime(500) ).subscribe(value => { // 在这里处理输入框值改变时的操作 console.log(value); }); }
这样,在输入框的值改变时,就能够触发valueChanges事件并执行相关操作了。