点击查看代码
方法一:
<el-tree
:data="sourceData"
node-key="id"
default-expand-all
:expand-on-click-node="false"
:props="defaultProps"
@node-click="handleNodeClick"
>
// 重点:给节点添加图标
<span slot-scope="{ node, data }" class="slot-t-node">
<template>
<i
:class="{
'el-icon-folder': !node.expanded, // 节点收缩时的图标
'el-icon-folder-opened': node.expanded, // 节点展开时的图标
'el-icon-user-solid': data.type === 2 // data.type是后端配合提供的识别字段,最后一级
}"
style="color: #409eff;" // 图标颜色
/>
<span>{{ node.label }}</span>
</template>
</span>
</el-tree>
点击查看代码
<el-tree
v-if="openPanel"
ref="Vtree"
style="height: 610px"
:data="treeData"
highlight-current
class="filter-tree"
node-key="id"
:default-expanded-keys="[tree_default_check]"
:default-checked-keys="[tree_default_check]"
:accordion="true"
@node-click="handleNodeClick"
>
<span slot-scope="{ node, data }">
<i :class="icons[data.type]" />
<span style="margin-left:5px;" :title="data.name">{{ data.name }}</span>
</span>
</el-tree>
`
` icons:{
category:'categoryTreeIcons',
table:'tableIcon',
class:'classIcon'
},
CSS
.archives-classification .classIcon{background: url("../../icons/class.png") center no-repeat;padding: 1px 8px !important;}
.archives-classification .categoryTreeIcons{background: url("../../icons/category.png") center no-repeat;padding: 1px 8px !important;}
.archives-classification .tableIcon{background: url("../../icons/table.png") center no-repeat;padding: 1px 8px !important;}
点击查看代码
<el-tree
:data="deptOptions"
:props="defaultProps"
highlight-current
accordion
node-key="id"
ref="treesa"
@node-click="handleNodeClick"
v-show="closeTree">
<span class="custom-tree-node" slot-scope="{node,data}">
<span>
<i :class="data.icon"></i>{{ data.label }}
</span>
</span>
</el-tree>