ElementUI 中 Tree 树形控件 添加自定义样式 虚线及图标样式

修改前样式

修改后样式如图:

<el-tree :data="data" :props="defaultProps" class="tree-line" icon-class="el-icon-plus" @node-click="handleNodeClick"></el-tree>

<style lang="scss" type="text/css" scoped>

.tree-default{
  >>> .el-tree-node {
    position: relative;
    padding-left: 16px; // 缩进量
  }
  >>> .el-tree-node__content {
      height: 32px;
      padding-left: 0px !important;
  }
  >>> .el-tree-node__children {
    padding-left: 16px; // 缩进量
  }

  // 竖线
  >>> .el-tree-node::before {
    content: "";
    height: 100%;
    width: 1px;
    position: absolute;
    left: -3px;
    top: -26px;
    border-width: 1px;
    border-left: 1px dashed #B5BCC6;
  }
  // 当前层最后一个节点的竖线高度固定
  >>> .el-tree-node:last-child::before {
    height: 38px; // 可以自己调节到合适数值
  }

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

  // 去掉最顶层的虚线,放最下面样式才不会被上面的覆盖了
  >>> & > .el-tree-node::after {
    border-top: none;
  }
  >>> & > .el-tree-node::before {
    border-left: none;
  }
    
  // 展开关闭的icon
  >>> .el-tree-node__expand-icon{
    font-size: 5px;
    background: #374D6C;
    color: #fff;
    margin: 5px;
    padding: 2px;
    // 叶子节点(无子节点)
    &.is-leaf{
        padding-left: 5px;
      display: none;
      & +.el-tree-node__label{
          margin-left: 10px;
      }
      
    }
  }
}

</style>

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ElementUI树形控件可以通过自定义来实现个性化的展示效果。可以通过以下几个方法来自定义ElementUI树形控件: 1. 自定义节点图标:可以使用slot-scope来自定义每个节点的图标,通过在<el-tree>组件内部使用<template slot-scope="scope">来自定义节点的图标样式。 比如,可以在<el-tree>组件内部使用<span class="custom-icon"></span>来定义一个自定义图标样式,并在<el-tree>的props设置custom-icon字段为true,这样每个节点就会显示自定义图标了。 2. 自定义节点内容:可以使用slot-scope来自定义每个节点的内容,通过在<el-tree>组件内部使用<template slot-scope="scope">来自定义节点的内容。 比如,可以在<el-tree>组件内部使用<span class="custom-content">{{ scope.node.label }}</span>来定义一个自定义的节点内容,这样每个节点的内容就会根据自定义样式进行展示了。 3. 自定义节点操作:可以通过监听<el-tree>组件的node-click事件来自定义节点的操作。在node-click事件的回调函数,可以根据需要进行节点的增删改查等操作。 比如,可以在<el-tree>组件上添加@click="handleNodeClick",然后在methods定义handleNodeClick方法,在该方法根据点击的节点进行相应的操作。 通过以上方法,可以实现对ElementUI树形控件的个性化定制,使其更符合实际需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ElementUI Tree 树形控件的使用并给节点添加图标](https://download.csdn.net/download/weixin_38628990/12927698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [element-ui tree树形控件 自定义节点内容](https://blog.csdn.net/yh8899abc/article/details/106716312)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值