【问题标题】:kendo - mutiselect - loading spinner while renderingkendo - mutiselect - 在渲染时加载微调器
【发布时间】:2021-08-27 07:36:46
【问题描述】:

我正在使用带有 200 多个元素的列表的 kendo 多选元素。 在您可以访问多选之前加载所有元素 - 但在多选中呈现这些元素需要一些时间。 有没有办法在渲染多选元素时显示加载微调器? 我不是在谈论从远程获取数据时显示微调器 - 我已经下载了所有数据,唯一的问题是多选渲染太慢。

【问题讨论】:

    标签: javascript kendo-ui


    【解决方案1】:

    200+ 并不是一个很大的数字,Kendo 或浏览器应该会出现渲染问题。您是否使用绑定到多选的大型 JS 对象?这可能是问题的一部分。

    使用这个小提琴并添加 500 多个元素在性能方面并不重要: http://jsfiddle.net/abhinavg/87f3xjr2/

    您可以在选择中添加更多选项:

    <option>Steven White</option>
    

    如果下拉列表中有大量项目,您可以这样做:

    • 实现分页(最好在后端)
    • 使用类别或多个层次下拉列表缩小列表(例如,选择国家 -> 选择县 -> 选择城市)- 如果可用
    • 利用自动完成功能(在用户输入前 2-3 个字符之前不要加载项目)

    无论如何,最好添加一个最小的可重现示例。

    【讨论】:

    • 它实际上是 2000 多个元素(抱歉)-但我问是否可以在渲染时显示一些加载微调器并不重要(我没有看到任何像 'onRendered ' 或 docs.telerik.com/kendo-ui/api/javascript/ui/multiselect )
    • 没有,因为这更像是浏览器正在进行的操作(您可以破解它以显示微调器并在元素可见时隐藏)。您将需要实现分页或某种实时搜索,以便用户可以输入一些字符(最少 2-3 个)来缩小列表。无论如何,一次添加 2k DOM 元素并不是一个好主意,在较慢的计算机上您将遇到严重的性能问题(检查具有 4 倍慢处理器的开发人员工具中的性能选项卡)。抱歉,没有真正的解决方案,您需要以正确的方式实施。我在答案中添加了更多信息。
    猜你喜欢
    • 1970-01-01
    • 2017-03-16
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 2014-02-02
    • 2019-01-03
    • 2013-07-21
    相关资源
    最近更新 更多