VUE element el-tree 只叶子节点显示多选框

本文介绍如何在Element UI的el-tree组件中仅显示子节点的多选框,而隐藏中间节点的多选框。通过使用less样式语言进行CSS自定义,实现el-tree节点选择行为的精细化控制。

element 非常流行

一直没有搞过前端,无奈项目需要,自己搞!

用到el-tree

要打开多选框只需要在 el-tree 标签 加 show-checkbox 很简单,所有节点都有了多选框。

那么我只需要子节点带多选框,中间节点没有多选框。

网上搜的结果非常一致:

    .el-tree-node {
        .is-leaf + .el-checkbox .el-checkbox__inner {
            display:inline-block;
        }
        .el-checkbox__input> .el-checkbox__inner {
            display:none;
        }
    }

然而总是没有那么顺利,这是一段CSS代码,需要在style 加上 lang="less" 才可以

<style lang="less">
    .el-tree-node {
        .is-leaf + .el-checkbox .el-checkbox__inner {
            display:inline-block;
        }
        .el-checkbox__input> .el-checkbox__inner {
            display:none;
        }
    }
</style>

如果加上lang="less"无法运行了,则是因为npm的依赖出了问题。

在package.json中确认 "less": "^3.11.1"

Vue 3中使用`el-tree`组件高亮中节点,可按如下步骤实现。 ### 1. 安装并引入ElementPlus 若尚未安装ElementPlus,可使用以下命令进行安装: ```bash npm install element-plus --save ``` 在Vue 3项目中引入ElementPlus: ```javascript import { createApp } from 'vue'; import ElementPlus from 'element-plus'; import 'element-plus/dist/index.css'; import App from './App.vue'; const app = createApp(App); app.use(ElementPlus); app.mount('#app'); ``` ### 2. 在模板中使用`el-tree`组件 在Vue组件的模板中使用`el-tree`,并绑定必要的数据和事件: ```vue <template> <div> <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick" :highlight-current="true" :current-node-key="currentNodeKey" > </el-tree> </div> </template> ``` 在上述代码中,`highlight-current`属性用于开启高亮当前中节点的功能,`current-node-key`属性用于指定当前中节点的键值。 ### 3. 在脚本中实现逻辑 在Vue组件的脚本部分实现必要的逻辑: ```vue <script setup> import { ref } from 'vue'; const treeData = [ { label: '一级 1', children: [ { label: '二级 1-1', children: [ { label: '三级 1-1-1' } ] } ] } ]; const defaultProps = { children: 'children', label: 'label' }; const currentNodeKey = ref(null); const handleNodeClick = (data, node, component) => { currentNodeKey.value = data.id || data.label; // 根据实际情况择合适的键 }; </script> ``` 在上述代码中,`currentNodeKey`是一个响应式变量,用于存储当前中节点的键值。`handleNodeClick`方法在节点被点击时触发,更新`currentNodeKey`的值。 ### 4. 自定义高亮样式(可) 若默认的高亮样式不符合需求,可自定义高亮样式: ```css .el-tree-node.is-current > .el-tree-node__content { background-color: #e5f6ff; color: #409eff; } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值