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