【VUE】el-tree根据不同状态,显示不同颜色

本文介绍了如何在Vue项目中使用ElementUI的el-tree组件,展示一个具有动态渲染、状态标识和操作按钮的插件数据源链接树,包括禁用、正常和异常状态的节点处理。

:render-content="renderContent"

<el-tree
                class="filter-tree"
                :data="pluginDatasourceLinkTreeData"
                :props="{
                      value: 'id',             // ID字段名
                      label: 'name',         // 显示名称
                      children: 'children',   // 子级字段名
                      disabled: function (data, node) {
                        if (data.isEnable !== '1') {
                          return !data.leaf
                        }
                      }
                    }"
                default-expand-all
                highlight-current
                node-key="id"
                :filter-node-method="filterNode"
                :expand-on-click-node="false"
                @node-click="handleNodeClick"
                :render-content="renderContent"
                ref="pluginDatasourceLinkTree">
                   <span class="custom-tree-node" slot-scope="{ node, data}">
         
在使用 `element-ui` 的 `el-tree` 组件时,如果希望根据节点数据中的 `sex` 字段动态显示不同颜色的图标,可以通过自定义节点内容的方式来实现。 `el-tree` 提供了 `node` 插槽来自定义节点的渲染内容。通过访问节点数据(即 `data`),可以判断 `sex` 字段的值,并根据不同的值展示不同颜色的图标[^1]。 以下是一个示例代码,展示了如何根据 `sex` 字段来显示不同颜色的图标: ```vue <template> <el-tree :data="treeData" node-key="id" default-expand-all > <template #default="{ node, data }"> <span> <!-- 根据 sex 字段显示不同颜色的图标 --> <i v-if="data.sex === 'male'" style="color: blue;">🔵</i> <i v-else-if="data.sex === 'female'" style="color: pink;">🔴</i> <i v-else style="color: gray;">⚪</i> {{ node.label }} </span> </template> </el-tree> </template> <script> export default { data() { return { treeData: [ { id: 1, label: '男', sex: 'male', children: [] }, { id: 2, label: '女', sex: 'female', children: [] }, { id: 3, label: '未知', sex: 'unknown', children: [] } ] }; } }; </script> ``` 在这个示例中: - 使用了 `v-if` 和 `v-else-if` 来根据 `data.sex` 的值决定显示哪个图标。 - 图标用 `<i>` 标签表示,样式通过 `style` 属性设置颜色- 如果 `sex` 是 `male`,则显示图标;如果是 `female`,则显示图标;否则显示图标。 通过这种方式,可以根据节点数据中的任意字段进行条件判断,并动态渲染不同的内容或样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值