Bootstrap-multiselect: 表现

创建于 2013-05-19  ·  8评论  ·  资料来源: davidstutz/bootstrap-multiselect

当您有很多选项时,bootstrap-multiselect 会出现一些性能问题。

例如,需要以低效但简单的方式将选项与 li 匹配的刷新方法。

在这个周日晚些时候,我没有任何具体的解决方案,但让我们尝试讨论一些可能的解决方案。

一种方法是建立内部数据结构,这样我们就不需要一直检查每个项目的 dom,这很耗时。

我们还可以查看 selected 或 select2 如何处理性能。

我的第一个想法是我们可以使用传递给 .each 的索引,因为应该有与 li 元素相同数量的选项,除了通过多选(过滤)添加的那些,如果我们可以使用索引,我们可以快速提升初始性能($('option', this.select)[index])

感谢您创建引导多选!

enhancement

最有用的评论

嗨大卫
我将引导程序多选与 SelectAllOption 一起使用。
下拉列表中有 148 个列表项。
它的工作如此缓慢。
你有这个问题的任何解决方案。

所有8条评论

初步发现表明 $foo.multiselect('rebuild') 比 $foo('refresh') 快得多,也许对于“全选”,我们可以切换选择选项,然后重建下拉菜单以使其更快?

是的,对于大型选项列表,我们无论如何都会遇到性能问题。 但是在解决这个问题之前,我们必须让插件更加模块化。 由于很多贡献(不要误解我,贡献真的很棒!)复杂性已经上升到扩展插件变得非常困难的地步。

所以我目前正在尝试获得一个模块化结构,我建议讨论新结构的效率。

听起来是一个合法合理的方法! 感谢您的更新!

可能我们会将此组件用于新的网络应用程序,但可能我们会有很大的列表。
你从多少个项目中定义一个列表作为一个大列表?
那么从哪些项目开始,性能开始成为问题?
100/1000/10000?

新结构的规划是什么?

谢谢您的回复!

如果不使用“全选”选项,我认为最多 1000 个选项的性能应该不是问题(500 个选项仍然运行比较流畅,请参阅此处的 4. 演示:http://davidstutz.github.io/bootstrap-multiselect/ )。 但是,由于您可以自己尝试,选择所有选项(包含 500 个项目)有时需要长达 10 秒才能完成。 这真的很糟糕,您可以提出有关如何提高此问题性能的建议。 也许您会找到更好的解决方案,我感谢任何类型的拉取请求。

我开始只是尝试一下(我不知道测试版是否仍在当前版本中),但由于我的考试,我目前无法继续进行。 我计划在 9 月左右继续,也许是 10 月,但我不知道我能投入多少时间。 此外,在开始使用“干净”方法之前,当前版本还有很多工作要做。

嗨大卫,谢谢你的回复!
我们会调查一下。
考试成功

192

嗨大卫
我将引导程序多选与 SelectAllOption 一起使用。
下拉列表中有 148 个列表项。
它的工作如此缓慢。
你有这个问题的任何解决方案。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

zephyx picture zephyx  ·  7评论

SaeedSoltoon picture SaeedSoltoon  ·  3评论

Furgas picture Furgas  ·  8评论

ingenierotecnico picture ingenierotecnico  ·  7评论

rodrigonunes100 picture rodrigonunes100  ·  3评论