将3000个值加载到 dijit.form.select 控件需要更长的时间。即使有500个值,浏览器也会被绞死。如何解决这个问题?
非常感谢任何帮助。
谢谢, Karthihck k。
答案 0 :(得分:1)
将3,000个任何加载到网页中总是会很慢。
虽然有一些方法可以克服这个限制,但对于你的用户来说,它绝对不值得不喜欢滚动浏览3,000个项目来选择一个!
我建议你将这个下拉列表分成两个(或三个)级别,每个级别不超过20-30个。在我自己的一个包含数千个列表项的项目中,我不得不使用四个级别,否则性能会变得很糟糕。
如果您只有一个长列表可供使用,请考虑将起始字母分成26组,如电话列表。至少你们每组只有100-200个。
现在,如果您真的非常想要加载这么长的列表,请考虑不要使用dijit.form.Select
,因为它只是<select>
标记的简单包装。您实际上一次只插入一个<option>
标记,从而导致性能下降。你有两个选择:
<option>
代码列表,然后一次性插入<select>
元素。dijit.form.FilteringSelect
。现在,我绝对不赞成赞同上述做法。你已被警告过了!