设置值时,语义UI下拉列表落后于整个ui

时间:2016-03-30 20:02:22

标签: javascript jquery user-interface semantic-ui dropdown

我有一个大选择,约有~1500项。每当我调用此代码时

$('#multi-select').dropdown('set exactly', ['my value']);

设置其值,整个用户界面锁定并滞后。现在我知道这是由于大量下拉(1500项)但我想知道是否有办法保留那么多项目而不会冲洗用户体验。

我在下面举了一个例子。您可以尝试单击该按钮一次,或连续多次单击该按钮以查看浏览器阻塞。

http://jsfiddle.net/qhy9do4w/1/

3 个答案:

答案 0 :(得分:1)

我查看了代码并对点击进行了分析。在其内部的某处,Semantic会触发很多事件,并且大部分延迟时间都是由module.trigger采取的。代码内部如下所示:

Attachment

我没有看到任何方法来禁用事件处理部分。

答案 1 :(得分:0)

我仔细研究了下拉列表的semantic.js代码,它完全是这样的:https://github.com/Semantic-Org/Semantic-UI/blob/74fea12e1fd548cb870872ba5ed59f5acdcc57ba/dist/components/dropdown.js#L2219:L2295

如果代码很慢或者你可以做任何类型的快捷方式,你可以试一试。

但是,这很难,你可能想要考虑像search这样的alernative。

答案 2 :(得分:0)

我们的解决方案是简单地缓存内容,并仅将选定的选项子集放入下拉菜单中。