【发布时间】:2019-11-24 23:14:25
【问题描述】:
我正在使用 FromEvent KeyUp 和 debounceTime 在我的应用程序中实现非常简单的搜索功能,如下代码:
<input matInput #inputSearch>
@ViewChild('inputSearch', { static: false }) input: ElementRef;
fromEvent(this.input.nativeElement, 'keyup')
.pipe(
filter((val: any) => val.target.value.length > 3),
debounceTime(500),
distinctUntilChanged(),
switchMap((val: any) => this.userService.get(val.target.value))
)
.subscribe(data => {
console.log(data);
});
只要我在输入框中输入内容,它就可以工作,但正如您所见,我添加了一个过滤器,它假设仅在输入值 > 3 时触发 api 调用。
但是,过滤器不起作用。我现在坚持这个问题。 任何想法 ?谢谢
【问题讨论】:
-
过滤器如何不工作 - 它是在长度为 2 或 1 后触发吗?该方法根本没有触发吗?需要更多信息。
-
我猜你把
fromEvent的位置放错了。我建议使用角度反应形式来处理这个动作。
标签: javascript angular typescript rxjs angular-reactive-forms