Элемент управления формы будет отображать изменения в своих значениях в виде наблюдаемой с именем valueChanges
. Вам нужно будет использовать оператор pipe
, добавив в него valueChanges
. Вы не можете просто позвонить debounceTime
, как вы делаете выше.
Вы также захотите использовать что-то вроде switchMap
, чтобы гарантировать, что любые запросы в полете будут отменены, если пользователь введет что-то во время выполнения запроса.
Не видя ваш код, это лучшее, что я могу сделать на самом деле.
Попробуйте использовать formControl.
html;
<input matInput [formControl]='myControl'>
В вашем ts объявите это как переменную класса:
myControl = new FormControl();
Затем передайте изменения из него следующим образом (можно go в ngOnInit
):
this.myControl.valueChanges.pipe(
debounceTime(500),
switchMap(changedValue => this.productService.search_Products(changedValue)),
).subscribe(productList => this.product_list = productList);