我在Angular应用中使用bootstrap typeahead lib。 该应用程序包含一个搜索组件,该组件的输入用于其他两个可在彼此之间切换的组件。
对于自动填充字词,我使用以下逻辑:
search = (text$: Observable<string>) =>
text$.pipe(
debounceTime(200),
distinctUntilChanged(),
map(term => term.length < 1 ? []
: words.filter(v => v.toLowerCase().indexOf(term.toLowerCase()) > -1).slice(0, 10))
)
效果很好。问题是当我在组件之间切换(即使我删除输入值)时,搜索词仍保留在输入值中。
例如:我正在搜索单词“ table”->获得结果,一切都很好。接下来,我尝试切换到其他组件(与上一个组件的行为相同),并且即使我重置了它,输入的值也会再次出现。