vue 3 el-tree 不同级别加不同图标

<el-tree ref="treeRef"
               style="max-width: 600px"
               class="filter-tree"
               :data="data"
               :props="defaultProps"
               default-expand-all
               :filter-node-method="filterNode">
        <template #default="scope">
          <img v-if="scope.node.level==1"
               src="@/assets/images/tree/level0.png">
          <img v-if="scope.node.level==2"
               src="@/assets/images/tree/level1.png">
          <img v-if="scope.node.level==3"
               src="@/assets/images/tree/level2.png">
          <img v-if="scope.node.level==4"
               src="@/assets/images/tree/level3.png">
          <span>
            {{ scope.node.label }}
          </span>
        </template>
      </el-tree>
### 在 Vue3 Element Plus El-Tree 组件的树节点后添加图标 为了在 `el-tree` 的每个节点后面添加特定图标,可以通过自定义插槽来实现这一功能。具体来说,通过使用具名插槽 `append` 可以为每个节点追额外的内容。 #### 使用具名插槽 append 添加图标 下面是一个具体的例子展示如何操作: ```html <template> <div class="custom-tree-container"> <el-tree :data="data" node-key="id" default-expand-all> <!-- 自定义节点内容 --> <template #default="{ node, data }"> <span class="custom-tree-node"> <span>{{ node.label }}</span> <span style="margin-left: 10px;"> <i :class="[getIconClass(data)]"></i> <!-- 动态绑定类名 --> </span> </span> </template> </el-tree> </div> </template> <script setup> import { ref } from &#39;vue&#39; const getIconClass = (item) => { // 根据 item 数据返回不同的 icon 类名 switch(item.type){ case &#39;folder&#39;: return &#39;el-icon-folder-opened&#39; case &#39;file&#39;: return &#39;el-icon-document&#39; default: return &#39;&#39; } } // 示例数据结构 const data = ref([ { id: 1, label: &#39;一级 1&#39;, type: &#39;folder&#39;, // 节点类型用于决定图标样式 children: [ { id: 4, label: &#39;二级 1-1&#39;, type: &#39;file&#39; // 子项文件类型的图标 }, ... ] }, ... ]) </script> ``` 此方法允许基于节点的数据动态调整所使用的图标,并且能够轻松扩展到更复杂的需求上[^1]。 对于希望进一步定制样式的开发者而言,还可以利用 CSS 来微调这些图标的外观属性,比如大小、颜色等。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值