我无法使用 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的主要内容,如果未能解决你的问题,请参考以下文章
在 Axios 请求上使用 Lodash 的 Debounce 会产生意想不到的结果
进阶 6-5 期[译] Throttle 和 Debounce 在 React 中的应用