夏未至秋已凉 发表于 2020-3-21 14:06:21

AutoComplete下拉性能问题

itemsSource的值如果是万级别的话,点按钮展开下拉框的时候会变慢,有没有相关的性能解决办法

KevinChen 发表于 2020-3-21 14:06:22

您好,

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

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

以下方案可以供您参考:

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

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

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

https://demo.grapecity.com.cn/wijmo/api/classes/wijmo_input.autocomplete.html#delay

夏未至秋已凉 发表于 2020-3-24 10:59:36

KevinChen 发表于 2020-3-21 14:06
您好,

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


现在下拉的性能基本解决了,当找到指定的数据,点击事件触发,到这条数据反映到入力框中的这个过程有没有相关可操作和优化的属性啊

KevinChen 发表于 2020-3-24 14:03:46

夏未至秋已凉 发表于 2020-3-24 10:59
现在下拉的性能基本解决了,当找到指定的数据,点击事件触发,到这条数据反映到入力框中的这个过程有没有 ...

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

如果是觉得性能差,我不太理解具体这里遇到了什么问题,能否提供一个Demo?

夏未至秋已凉 发表于 2020-3-24 15:09:46

数据填入了三万件,快速拖动滚动条,然后点击下拉项到数据填入输入框的过程,ie下会有一些卡顿,只有几百条数据的情况就没问题,谷歌下也没问题,客户让继续优化:'(

KevinChen 发表于 2020-3-24 17:45:45

您好,这个确实没办法继续优化了,产品本身对这里已经是最直接的实现了,再加入其它操作只会拖慢性能。
是否可以考虑用模态窗口中嵌入表格回填的方法来替换下拉组件?这样既容易选取,性能也更好。参考:
https://demo.grapecity.com.cn/wijmo/demos/Input/Popup/Dialogs/purejs

夏未至秋已凉 发表于 2020-3-25 10:40:10

嗯嗯,明白了,感谢

KevinChen 发表于 2020-3-25 10:55:26

不客气,感谢你的反馈,本帖结贴了~
页: [1]
查看完整版本: AutoComplete下拉性能问题