带有巨大动态 json 文件的自动完成下拉菜单

auto complete dropdown with huge and dynamic json file

我正在寻找一个自动完成下拉框的解决方案,它需要从一个巨大的 json 中加载条目(json 文件也在每秒更新/生成。)

我试过 "typeahead.js" 但默认情况下它会在浏览器中缓存 json 文件并且无法显示添加到 json 文件的新条目。

是否有自动完成文本框的解决方案,可以尽快从服务器加载条目?

请多多指教。 谢谢

对于您的情况,您可以利用 typeahead.js 建议引擎 Bloodhound。它提供了两个选项。预取和远程。

在预取中,数据在初始化时被获取和处理。如果浏览器支持本地存储,处理后的数据将缓存在那里,以防止在后续页面加载时进行额外的网络请求。

在 Remote 中,它会在您需要时从远程源获取数据。但请记住,为了防止向远程端点发出大量请求,请求是有速率限制的。

我认为您应该根据自己的情况使用远程选项。

参考:Link

typeahead.js

的文档中提到了两种方法

您可以为预取设置 TTL 值 = 1(这对我没用)

https://github.com/twitter/typeahead.js/blob/master/doc/bloodhound.md

或者您可以在点击页面加载或点击按钮时使用 clearPrefetchCache。

category.clearPrefetchCache();