反应性形式:输入字段上的Valuechanges会导致错误



我正在使用函数'valuechanges'的输入字段上的更改,当我编写诸如" abc"之类的任何内容时,但是,当我删除文本时,会提高错误函数,然后当我再次写任何东西" Valuechanges"不发射时,这是示例:

this.searchForm.controls.SearchValue.valueChanges
      .debounceTime(1000)
      .switchMap(term => this._http
    .get(CONFIG.API_ENDPOINT + `/folders/search/` + term))
      .subscribe(
        (result) => {
          this.searchResult = result;
        },
        (err) => {
          console.log(error);
        })

我需要知道发生了什么?

可观察到的工作方式以某种方式停止发射值,一旦完成或发生错误。

this.searchForm.controls.SearchValue.valueChanges
      .debounceTime(1000)
      .filter(val => val)
      .switchMap(term => {
          return this._http.get(CONFIG.API_ENDPOINT + `/folders/search/` + term)
            .catch(err => {
                console.log(err);
                return Observable.empty()
            })
      })
      .subscribe(result => {
          this.searchResult = result;
      })

您可以在此处使用代码:https://stackblitz.com/edit/angular-http-r1qe3z(输入数字(。该视频非常有帮助:https://www.youtube.com/watch?v=3lkmwkuk0ze26:20是解释的地方。

this.searchForm.controls.SearchValue.valueChanges
      .debounceTime(1000)
      .filter(term => !(term === null || term === ''))
      .switchMap(term => this._http
    .get(CONFIG.API_ENDPOINT + `/folders/search/` + term))
      .subscribe(
        (result) => {
          this.searchResult = result;
        },
        (err) => {
          console.log(error);
        })

相关内容

  • 没有找到相关文章

最新更新