我无法使用 debounce 更新 md-autocomplete

Posted

技术标签:

【中文标题】我无法使用 debounce 更新 md-autocomplete【英文标题】:I can't update the md-autocomplete with debounce 【发布时间】:2018-03-29 01:24:36 【问题描述】:

我已经用了好几天了。

我有一个自定义 md-autocomplete 组件,其中包含: "@angular/core": "4.2.6", "@angular/material": "2.0.0-beta.8",

我需要在最后一次按键经过“n”秒后延迟启动服务调用。 Moock约会一切都很好,但是当我的服务有点延迟时。繁荣!!!!列表没有出现。

  filterAutocomplete() 
    this.filteredOptions = this.autocompleteControl.valueChanges
      .startWith(null)
      // delay
      .debounceTime(this.autoProperties.time)
      // call service method
      .map(textSearch => this.FilterList(textSearch))
      // unique event
      .distinctUntilChanged();
  

FilterList(textSearch: string): any[]    
  this.ref.detectChanges();
  this.searchEmiter.emit(textSearch ? textSearch : ''); 
return this.listReg;

this.filteredOptions用于在视图中绘制列表

this.FilterList 向父亲发起一个事件并调用服务。然后,使用发送到 md-autocomplete 的参数更新对象

我尝试使用this.changeDetectorRef.detectChanges(),但没有更新。

谢谢

【问题讨论】:

【参考方案1】:

只需删除偶数组件偶数处理程序并添加您自己的。这很容易。

【讨论】:

以上是关于我无法使用 debounce 更新 md-autocomplete的主要内容,如果未能解决你的问题,请参考以下文章

使用 debounce 测试角度指令

在 Axios 请求上使用 Lodash 的 Debounce 会产生意想不到的结果

承诺等待后取消 lodash debounce

进阶 6-5 期[译] Throttle 和 Debounce 在 React 中的应用

在 debounce 函数中使用 requestAnimationFrame 是个好主意吗?

如何在异步功能上使用 debounce? [复制]