我正在尝试实现自动完成以在我的应用程序中选择位置。为此,我使用 Here Maps API。目前我有这个TextField:
onChanged: (query){
print("Current value is: ${query}");
if(query) { getPlacesFromHereMaps(query); }
},
Run Code Online (Sandbox Code Playgroud)
在这里,每次用户输入一些字母时,都会调用自动完成 API。
因此,如果用户输入“New York”,则意味着应用程序将调用 API 大约 8 次,我发现这太多了。有没有办法优化这个?
onChanged正在做它的工作。根据文档:
每当用户更改字段中的文本时,文本字段都会调用 onChanged 回调。如果用户指示他们已完成在字段中的输入(例如,通过按软键盘上的按钮),则文本字段将调用 onSubscribed 回调。
如果你想优化,你可以这样做:
onChanged(query) {
if (query.length < 2) return;
// if the length of the word is less than 2, stop executing your API call.
// rest of your code
getPlacesFromHereMaps(query);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4819 次 |
| 最近记录: |