vue 组件el-tree添加结构指示线条

效果展示:

注意:组件中需要添加:indent="0" 进行子级缩进处理,否则会出现子级缩进逐级递增

:expand-on-click-node="false" 设置点击箭头图标才会展开或者收起

代码:

html 复制代码
<el-tree class="tree filter-tree" 
    :data="treeList" 
    :props="defaultProps" 
    default-expand-all 
    :indent="0"
    :expand-on-click-node="false" 
    @node-click="handleNodeClick" 
    :filter-node-method="filterNode" 
    highlight-current ref="tree">
</el-tree>
css 复制代码
/* 点击树结构项的选中颜色 */
    .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
        background-color: #c7d1de;
    }

    /* 树形结构节点添加连线 */
    .tree {
        .el-tree-node {
            position: relative;
            padding-left: 20px;
            /* 缩进量 */
        }

        .el-tree-node__children {
            padding-left: 20px;
            /* 缩进量 */
        }

        /* 竖线 */
        .el-tree-node::before {
            content: "";
            height: 100%;
            width: 1px;
            position: absolute;
            left: -3px;
            top: -26px;
            border-width: 1px;
            border-left: 1px dashed #52627C;
        }

        /* 当前层最后一个节点的竖线高度固定 */
        .el-tree-node:last-child::before {
            height: 38px;
            /* 可以自己调节到合适数值 */
        }

        /* 横线 */
        .el-tree-node::after {
            content: "";
            width: 24px;
            height: 20px;
            position: absolute;
            left: -3px;
            top: 16px;
            border-width: 1px;
            border-top: 1px dashed #52627C;
        }

        /* 去掉最顶层的虚线,放最下面样式才不会被上面的覆盖了 */
        &>.el-tree-node::after {
            border-top: none;
        }

        &>.el-tree-node::before {
            border-left: none;
        }

        /* 展开关闭的icon */
        .el-tree-node__expand-icon {
            font-size: 16px;

            /* 叶子节点(无子节点) */
            &.is-leaf {
                color: transparent;
                /* 也可以去掉 */
                display: none;
            }
        }

    }
相关推荐
王林不想说话25 分钟前
React自定义Hooks
前端·react.js·typescript
颜酱25 分钟前
滑动窗口详解:原理+分类+场景+模板+例题(视频贼清晰)
javascript
heyCHEEMS26 分钟前
Uni-app 性能天坑:为什么 v-if 删不掉 DOM 节点
前端
马致良27 分钟前
三年前写的一个代码工具,至今已被 AI Coding 完全取代。
前端·ai编程
橙某人30 分钟前
LogicFlow 交互新体验:让锚点"活"起来,鼠标跟随动效实战!🧲
前端·javascript·vue.js
借个火er33 分钟前
依赖注入系统
前端
借个火er33 分钟前
项目介绍与环境搭建
前端
gustt34 分钟前
React 跨层级组件通信:从 Props Drilling 到 useContext 的实战剖析
前端·react.js
程序猿的程40 分钟前
Stock写给前端的股票行情 SDK: stock-sdk,终于不用再求后端帮忙了
前端·javascript·node.js
用户新42 分钟前
V8引擎 精品漫游指南 -解析篇 语法解析 AST 作用域 闭包 字节码 优化 一文通关
前端·javascript