使用Angular 7,我有一个搜索输入,该输入连接到 Observable<string>
searchValue = new FormControl("");
this.searchChanges$ = searchValue.valueChanges
我有另一个Observable<Record[]>
从firebase获得的信息,我正在尝试使用从搜索输入中获得的字符串过滤数组:
return this.searchChanges$.pipe(
withLatestFrom(recordsObserver, (searchValue, records) => {
return records.filter(record => record.title.includes(searchValue));
})
);
问题在于,直到输入内容发生更改,列表才会更新,什么是解决此问题的最佳方法?
当两个观测是为了工作作为新观察到的一个主要来源,你应该宁愿使用combineLatest超过withLatestFrom。这样,当您的源可观测对象之一触发时,您的新组合可观测对象也将触发。
在这种用例中,另一个方便的工具是利用startWith
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句