我正在使用角度 8。
有一个自动完成输入,如果它的值发生变化,我必须进行 API 调用并为此输入加载新建议。
//In Template
<autocomplate [suggestions]="suggestions" (filterChange)="filterChange($event)"></autocomplate>
//In Component
filterChange(e) {
console.log(e)
this.loadSubscriptions(e ? { 'filterItem.name': e } : {})
}
loadSubscriptions(params) {
if (this.suggestionsSubscriber) this.suggestionsSubscriber.unsubscribe()
this.suggestionsSubscriber = this.suggestionsService.loadData(params).subscribe(
data => this.suggestions = data
})
}
一切正常,但问题是当用户键入快速应用程序对许多请求时。
如果用户输入速度快,我可以以某种方式延迟请求吗?例如,当用户输入时,不要在每次更改时都调用 API,如果用户停止输入,则调用 API。
或者如果你有更好的方法来解决这个问题,请分享。
有只小跳蛙
炎炎设计
相关分类