在我们的网络应用中,我们要添加启用自动填充功能的搜索框,其中包含自动完成的结果:
自动完成列表的源数据位于客户端的JavaScript数组中。客户端上还有过滤逻辑,用于确定哪些结果将显示为用户类型。所以理论上我们应该有一个超快的解决方案,因为没有服务器依赖。
问题在于渲染整个自动完成列表(例如使用类似JQuery UI autocomplete的实现)会创建数千个DOM元素,并且在客户端上呈现速度非常慢。 Knockout.js的开销使它变得更糟。当用户将焦点设置到搜索框时,浏览器会锁定几秒钟!
我们已尝试Kendo UI virtual-scrollable autocomplete widget,但剑道的实施仅限于固定高度元素。
有关下一步尝试的建议吗?