-
-
Notifications
You must be signed in to change notification settings - Fork 19.9k
[Component] [All] 使用icon图标的组件都会造成内存泄漏【如何解决其他组件内存泄漏】 #14944
Copy link
Copy link
Closed
element-plus/element-plus-icons
#65Labels
Project::BugSomething isn't workingSomething isn't working🔨 Vue issueIssue caused by Vue. Can't do anythingIssue caused by Vue. Can't do anything
Description
Bug Type: Component
Environment
- Vue Version:
3.3.8 - Element Plus Version:
2.4.2 - Browser / OS:
UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 - Build Tool:
Vite
Reproduction
本人后端,最近才接触前端,要开发新项目看star数挺多的于是决定用它。经过几个月的奋斗项目上线了团队的成员都很开心。可是一上线客户电脑就各种崩溃。打开控制台内存占比一直居高不下动不动就1G 2G的占用,回头看看自己的代码都是从官网例子复制下来的,照着葫芦画瓢。出现这种情况确实不应该。于是又连续奋斗了几个礼拜,熬了几个大夜总结了会照成内存泄漏的组件,希望对其他小伙伴有帮助。
先在这里奉劝大家打算开发新项目的同学,不要用它,不要用它,不要用它,不然有你后悔的。
- el-dialog 一定要使用 append-to-body="true",不然会造成内存泄漏
- v-loading 指令会造成内存泄漏,已经用到的建议自己手搓一个 v-loading
el-table row-key 会导致dom节点数量飙升,至少提升2.2+倍的dom数量【 再次验证这个不存在,故删除】- el-color-picker 会导致内存泄漏, 很奇怪从GitHub下载下来的el-color-picker放到项目中只改了引用什么都没改就不会造成内存泄漏
- 什么el-select/el-select/el-date-picker ...只要使用icon图标都会造成内存泄漏。原因只是因为他们内部都是用 el-icon!!! 这个没想到吧? 一切的根源就是他。解决方法就是用其他图标代替,方法就不阐述了
- ...还在发现中
以上的坑,我踩过了,后来的小伙伴不要再踩了。
验证这个哥们说的话,不解释了。
#11922
再次奉劝大家开发新项目的同学,不要用它,不要用它,不要用它
提供el-select的例子
#14948
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Project::BugSomething isn't workingSomething isn't working🔨 Vue issueIssue caused by Vue. Can't do anythingIssue caused by Vue. Can't do anything