我想创建一个自动完成输入组件,以从Google Maps Place API检索地点。
这是此API的示例响应: https://developers.google.com/places/web-service/search#PlaceSearchResponses
我的问题是我应该如何处理用户输入/键入和调用API以更新自动完成选项?
做这样的事情正确吗:
在keyup
上设置超时,以检查用户是否停止键入,然后在几秒钟后调用API;并在keydown
上清除超时以避免在用户仍在键入时调用API?
我无权访问Google Cloud Platform Console,因此无法启用Maps Javascript API并使用Place Autocomplete
答案 0 :(得分:1)
您是否使用纯JavaScript? 如果没有,则可以使用lodash debounce function,它完全可以满足您的需求。
编辑: 正如某人在评论中指出的那样,我不应该只是发布链接作为答案,所以我将提供一个片段来帮助改善此答案
import _ from 'lodash';
$(selector).on('keyup', _.debounce(function (e) {
// stuff
}
}, 500));