el-tree 卡顿崩溃
时间: 2023-10-14 14:05:50 浏览: 185
el-tree卡顿崩溃的原因是因为在渲染时直接将大量节点渲染到页面上,导致页面性能下降。解决这个问题的方法是使用虚拟滚动列表插件与el-tree结合。
首先,你可以参考网上使用virtual-scroll-list插件与el-tree源码写成一个新组件的方法。virtual-scroll-list插件可以只渲染页面呈现部分的节点,从而避免卡顿和崩溃的问题。你可以通过下载该组件的GitHub或Gitee链接来获取组件代码。
接下来,你可以按照el-tree的使用方法来使用这个新的组件。你可以根据自己的业务需求进行适当的更改。注意,这个新组件只是实现了文件导出的需求。
下面是一个使用示例:
```html
<virtualNodeTree ref="dirTree" :data.sync="treeData" :load="loadDir" :keeps="50" :check-strictly="false" :props="{ isLeaf: 'leaf' }" lazy show-checkbox node-key="path" class="treeWrap" @check-change="handleCheckChange">
<span slot-scope="{ data }">
<svg-icon v-if="data.ftype === '1'" style="color: #fdd300;" icon-class="faFolder"/>
<span v-else>
<svg-icon :icon-class="fileInputHandle(data).icon" :style="{color: fileInputHandle(data).color}"/>
</span>
<span>{{ data.fname }}</span>
</span>
</virtualNodeTree>
```
另外,还有一种解决el-tree卡顿崩溃的方法是给tree设置一个height属性,使其切换为虚拟滚动,从而提升长列表的性能表现。但需要注意的是,设置了这个属性后,可能会导致无法使用懒加载和拖拽功能。
如果你想要更多功能或者与el-tree结合使用,还可以尝试使用ElementUI的el-select与el-tree结合。
希望这些解决方法能帮助到你!
阅读全文