找回密码
 立即注册

QQ登录

只需一步,快速开始

夏未至秋已凉

注册会员

6

主题

9

帖子

55

积分

注册会员

积分
55
夏未至秋已凉
注册会员   /  发表于:2020-3-21 14:06  /   查看:5658  /  回复:7
1金币
itemsSource的值如果是万级别的话,点按钮展开下拉框的时候会变慢,有没有相关的性能解决办法

最佳答案

查看完整内容

您好, 首先分析一下这个问题的原因: 下拉项是DOM元素组成,如果数量过大,会导致下拉项过长,渲染时占用大量页面性能资源导致卡顿。 以下方案可以供您参考: 1、隐藏下拉按钮:下拉按钮的行为会默认加载所有下拉项 API:https://demo.grapecity.com.cn/wijmo/api/classes/wijmo_input.autocomplete.html#showdropdownbutton 2、设置minLength:当用户输入内容时,会自动响应执行模糊检索,默认值为2。 API: h ...

7 个回复

倒序浏览
最佳答案
最佳答案
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-3-21 14:06:22
来自 2#
您好,

首先分析一下这个问题的原因:

下拉项是DOM元素组成,如果数量过大,会导致下拉项过长,渲染时占用大量页面性能资源导致卡顿。

以下方案可以供您参考:

1、隐藏下拉按钮:下拉按钮的行为会默认加载所有下拉项
API:https://demo.grapecity.com.cn/wi ... #showdropdownbutton

2、设置minLength:当用户输入内容时,会自动响应执行模糊检索,默认值为2。
API:
https://demo.grapecity.com.cn/wi ... lete.html#minlength

3、设置响应时间:当用户输入多个字符时,延迟执行检索功能:

https://demo.grapecity.com.cn/wi ... complete.html#delay
回复 使用道具 举报
夏未至秋已凉
注册会员   /  发表于:2020-3-24 10:59:36
3#
KevinChen 发表于 2020-3-21 14:06
您好,

首先分析一下这个问题的原因:

现在下拉的性能基本解决了,当找到指定的数据,点击事件触发,到这条数据反映到入力框中的这个过程有没有相关可操作和优化的属性啊
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-3-24 14:03:46
4#
夏未至秋已凉 发表于 2020-3-24 10:59
现在下拉的性能基本解决了,当找到指定的数据,点击事件触发,到这条数据反映到入力框中的这个过程有没有 ...

您好,从点击下拉项到数据填入输入框,这个过程是想在其中加入事件响应还是觉得性能上有问题?
如果是想加入事件,可以参考API:
https://demo.grapecity.com.cn/wi ... te.html#textchanged

如果是觉得性能差,我不太理解具体这里遇到了什么问题,能否提供一个Demo?
回复 使用道具 举报
夏未至秋已凉
注册会员   /  发表于:2020-3-24 15:09:46
5#
数据填入了三万件,快速拖动滚动条,然后点击下拉项到数据填入输入框的过程,ie下会有一些卡顿,只有几百条数据的情况就没问题,谷歌下也没问题,客户让继续优化
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-3-24 17:45:45
6#
您好,这个确实没办法继续优化了,产品本身对这里已经是最直接的实现了,再加入其它操作只会拖慢性能。
是否可以考虑用模态窗口中嵌入表格回填的方法来替换下拉组件?这样既容易选取,性能也更好。参考:
https://demo.grapecity.com.cn/wi ... opup/Dialogs/purejs
回复 使用道具 举报
夏未至秋已凉
注册会员   /  发表于:2020-3-25 10:40:10
7#
嗯嗯,明白了,感谢
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-3-25 10:55:26
8#
不客气,感谢你的反馈,本帖结贴了~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部