最近新的项目,IE运行起来巨卡,特别是前同事负责的那个模块(现在已离职,交给了我),
现在刚好有个机会能够将这个模块重构,看看能不能解决IE巨卡的问题,结果写了一半,发现打开重写的页面,IE内存飙升。
仔细排查了一下,发现element-ui中的el-cascader级联选择器在IE中渲染起来十分占内存。
这是一个用来选择省市区级联选择器,供给渲染的数组抹平后又3000多项。
另外用到省市区的级联,这个页面有3个……
下面我做的一个demo:
刚开始
切到包含3个省市区级联的页面:
切到其他页面再切回
这样来回几下,妥妥爆内存。
我想把这个省市区级联拆成3个来做,不知道效果会不会好些,
请问各位大神有没有解决的思路?
采用@code莱斯 大佬的方法,效果十分的好,来回切换页面,内存占用没有明显的上升。
不过element-ui 2.11.0版本,貌似有小bug:
像这样,重复步骤:
1.选择北京->展现北京的菜单
2.勾选澳门行政区,级联自动关闭(澳门没有二级)
3.再次点击控件,展示了北京的二级菜单,并且选中澳门行政区
第一:这并非elementui的问题,省市区3000多,你自己插入3000多嵌套dom且绑定相关事件试试,内存高,卡一样存在,还得看环境硬件配置情况。
第二:有一个已知问题,需要一个应用程序添加数百个模块并在之后立即取消注册,这导致堆内存未被清除。 你可以想象下一步会发生什么...... 内存泄漏。https://mp.weixin.qq.com/s/2y...
建议:依然使用 cascader,把省市区三级做成异步加载,亲测,我项目中一个页面3个千条数据的cascader都不卡