找回密码
 立即注册

QQ登录

只需一步,快速开始

老冯
中级会员   /  发表于:2024-5-27 22:20  /   查看:1727  /  回复:8
10金币
下拉框设置数据源为JSON,耗时太长,是否有办法可以解决?

最佳答案

查看完整内容

问题跟进 大佬,el插件是我们集成的开源的element-ui。El选择器本身就是有这个性能问题,EL要加载所有的元素dom, 有4000条数据,就会创建4000个元素Dom, 所以很慢。 我们也和EL官方那边也发贴沟通过这个问题,他们说他们新提供了一个EL虚拟选择器,这个控件的话,就可以解决EL选择器这个性能问题。不过这个EL虚拟选择器目前是Beta版本,所以我们也就没有在插件中封装,我们也跟进他们什么时候可以正式发布这个el虚拟选择其他, ...

8 个回复

倒序浏览
最佳答案
最佳答案
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-5-27 22:20:12
来自 9#
问题跟进
大佬,el插件是我们集成的开源的element-ui。El选择器本身就是有这个性能问题,EL要加载所有的元素dom, 有4000条数据,就会创建4000个元素Dom, 所以很慢。

我们也和EL官方那边也发贴沟通过这个问题,他们说他们新提供了一个EL虚拟选择器,这个控件的话,就可以解决EL选择器这个性能问题。不过这个EL虚拟选择器目前是Beta版本,所以我们也就没有在插件中封装,我们也跟进他们什么时候可以正式发布这个el虚拟选择其他,但是那边反馈目前没有明确计划,目前的话就只能是按照您所述的去绕一下解决,我们后续也会关注个问题,等el官方给出稳定的解决方案后,我们也会同步更新到el插件中,感谢您的支持

回复 使用道具 举报
老冯
中级会员   /  发表于:2024-5-27 22:29:42
2#

补充问题如下:
设置数据源为对象数组,4000行,每行有10个标签。
如果数据源改为字符串数组耗时会短一些吗?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
老冯
中级会员   /  发表于:2024-5-28 13:46:46
3#
我测试了一下,还不如将JSON数据保存到一个临时数据表,将下拉框绑定数据源到数据表耗时更短一些。

也就是说,同样的下拉选项,用数据表比JSON作为数据源页面加载更快一些。
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-5-28 14:23:37
4#
感谢大佬的反馈~
看截图您这边儿是在手机页面中使用的el-选择器,设置的数据源类型是对象数组对么,这儿测试一下看看,有结果及时给您反馈
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-5-28 18:50:17
5#
大佬,我这边儿试了一下

4000条数据大概需要5秒左右,您那边儿方便把json数据源发过来我们测试一下吗,看看是不是有什么特殊的数据,建议您可以发一个demo上来,我们看一下您demo中的设置,这样我们也可以更好的帮助到您

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Edric.Li
中级会员   /  发表于:2024-5-28 19:02:56
6#
首先,感觉你这么大的数据,真的合理嘛? 不应该改成按需或者搜索的那种么?
其次,直接绑定数据源确实性能上会比设置json数据源要好一些。 因为要少做一些事情。
回复 使用道具 举报
老冯
中级会员   /  发表于:2024-5-28 21:39:05
7#
刚才测试速度好一些,同样数据昨天17秒多,今天12秒多。
附件有工程文件,麻烦版主看一下解答疑问。

临时解决办法我已经有了。因为这个下拉选项内容的变动不会很频繁,我临时措施已经改为应用启动的时候HTTP去获取1次所有的下拉选项保存到1个临时数据表里,临时表再作为数据源绑定到下拉选项。用户每次打开就很快了。后面我再做个定时任务去定时更新这个临时数据表就行。










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-5-29 14:29:14
8#
好的,这边儿看一下有没有什么优化的方案,不过感觉楼上大佬说的也有道理,4000条数据,用户也不能一次性全看了,是不是改成一次只加载用户需要看的数据量,或者是根据用户输入的搜索条件去设置组合框的数据源呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部