Chosen: UI 挂在非常大的列表上

创建于 2016-03-28  ·  4评论  ·  资料来源: harvesthq/chosen

1.5.1 版;
测试的浏览器:Chrome、Safari;
假定普遍适用

当使用 /truly/ 大选择(20K 元素)时,过滤的响应性有些不足。
我认为两个关键方面可以显着改善:
1)当单击以打开选择框时,不要使用空白正则表达式搜索每个项目,只需填充完整列表 - 这应该会显着减少选择打开时间,这可能是用户体验问题中最引人注目的部分。
2) 键入时,搜索应该具有去抖动选项(理想情况下使用配置定义的持续时间?),以便用户可以在实际开始搜索之前键入多个字符。 可能这甚至可以根据搜索前预先存在的匹配数智能地完成(如果筛选已经很小的列表,不要长时间去抖动)

我自己正在研究实现细节,但是如果这里的常客之一看到如何轻松添加其中一个或两个并且可以将其完成(或指出我在哪里做),那就太好了。

Performance

最有用的评论

重新选择 2

虽然max_shown_results极大地加快了搜索速度(我有一个包含 22k 个元素的列表),但我们需要一些方法来表明还有其他项目只是被隐藏了。

我建议在列表底部使用类似于“显示更多”/“显示下一个 x”的内容来显示额外的 x(其中 x = max_shown_results)。 虽然这将部分抵消原始限制提供的加速,但它将表明该列表包含其他项目。 另一种方法是在底部以灰色显示“...”,以指示其他隐藏选项(可能是用户可以在初始化时更改的文本?)

所有4条评论

@mcclurem感谢您的报告!

之前有一些关于数千个选项的性能问题的问题——请参阅 #2158 作为示例。

至于您的两个具体说明:

  1. 在打开的每个元素上不必要地调用空白正则表达式似乎很糟糕! 如果可能,请随时调查解决方案并提交 PR 以解决此问题。
  2. 由于用户体验问题,我们历来拒绝这种“延迟搜索直到 _n_ 个字符”。 请参阅#2359 及其相关问题。 _然而_,有一个替代解决方案: max_shown_results在#2362 中引入。 它是专门添加的“以提高具有很多选项的选择的性能”,所以这可能是您所追求的。 有关max_shown_results更多信息可以在文档中找到。

重新选择 2

虽然max_shown_results极大地加快了搜索速度(我有一个包含 22k 个元素的列表),但我们需要一些方法来表明还有其他项目只是被隐藏了。

我建议在列表底部使用类似于“显示更多”/“显示下一个 x”的内容来显示额外的 x(其中 x = max_shown_results)。 虽然这将部分抵消原始限制提供的加速,但它将表明该列表包含其他项目。 另一种方法是在底部以灰色显示“...”,以指示其他隐藏选项(可能是用户可以在初始化时更改的文本?)

@mcclurem你在选择的大名单上做了什么? 你能找到任何合理的解决方法吗? 您是否更改了将值加载到选择中的方式? 有没有更好的方法来延迟加载仍然有搜索? 我们正在考虑在我们的结果中包含 100,000 个项目。 我们目前将视图限制为仅显示 50 个。但搜索客户端需要加载它们以选择执行搜索。

+1。 我认为这个插件的主要缺点是性能,并且期望像延迟加载这样的东西会解决这个问题。 这是我在选择中看到的唯一巨大差距。

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

相关问题

zerocrates picture zerocrates  ·  7评论

vpode picture vpode  ·  5评论

lordspace picture lordspace  ·  6评论

jbrooksuk picture jbrooksuk  ·  6评论

gandarez picture gandarez  ·  5评论