【问题标题】:ngbtypeahead filter angular 4ngbtypeahead 过滤器角度 4
【发布时间】:2017-10-27 12:12:39
【问题描述】:

当用户没有选择一个选项时,我需要从 ngbtypeahead 中删除以前的结果,但是当删除输入文本中的所有字符时,结果仍然显示

NgbdTypeaheadHttp.component.ts

export class NgbdTypeaheadHttp {
model: any;
searching = false;
searchFailed = false;
clickedItem: string;
constructor(private _service: PeopleService) { }
// Added
formatMatches = (value: IPeople) => value.DisplayName || '';
search = (text$: Observable<string>) =>
    text$
        .debounceTime(300)
        .distinctUntilChanged()
        .do(() => this.searching = true)
        .switchMap(term => term.length < 2 ? []
            : this._service.search(term)
                .do(() => this.searchFailed = false)
                .catch(() => {
                    this.searchFailed = true;
                    return Observable.of([]);
                }))
        .do(() => this.searching = false);


selectedItem(item: People) {
    this.clickedItem = item.Account;
}

如何清除预先输入的结果以及如何过滤 Observable 函数中的远程数据?

谢谢!

【问题讨论】:

    标签: angular bootstrap-typeahead


    【解决方案1】:

    如果搜索词为空,则在服务中发送空的 observable。

    服务功能:

    search(search: string): Observable<any> {
        if (search === '') {
            return Observable.of([]);
        } else {
            // other stuff
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2023-01-18
      • 1970-01-01
      • 2013-11-13
      • 2021-02-27
      • 2013-08-17
      • 2015-12-17
      • 2020-07-28
      相关资源
      最近更新 更多