【发布时间】:2015-01-22 19:50:20
【问题描述】:
我需要在选择控件中显示大约 6000 个名称。我正在使用敲除来检索这些记录,但由于返回的数量很大,页面需要大约 30 秒才能加载。如果不将这些返回给控件,则只需 1 秒多一点。
有什么建议吗?也许是不同类型的选择选项?
【问题讨论】:
-
我认为问题不在于数据量,而在于渲染具有这么多选项的
-
6000 项太多了,在几个方面。传输的数据量,浏览器必须渲染它,但主要是用户体验 - 你真的希望有人从 6000 个列表中选择项目吗?在这么多数据出现在用户面前之前,肯定应该进行一些服务器端过滤吗?
-
有了这么多数据,我会考虑使用自动完成或过滤解决方案。允许用户输入前几个字符,然后从内存列表或服务器获取过滤列表。
-
即使在我的慢速 PC (Celeron @ 2GHz) 上,KO 也会在 ~4 秒内附加 5000 个选项。 jsfiddle.net/2c5wr8u6 检查您的代码是否没有将名称一个接一个地附加到可观察数组,而是将它们附加到
pushAll或通过完整的内容替换。
标签: html twitter-bootstrap knockout.js web-controls