当前位置: 首页 > article >正文

element-ui的树形结构样式调整,添加线条和边框样式

element-ui的树形结构样式调整,添加线条和边框样式

先看图效果:
在这里插入图片描述

<template>
  <div class="temperature_monitoring">
    <div class="temperature_monitoring_left">
      <div class="tree-container">
        <el-tree
          ref="tree"
          class="tree filter-tree"
          :data="datalist"
          :props="defaultProps"
        >
          <span slot-scope="{ node, data }" class="custom-tree-node">
            <span :dataType="data.type">
              {{ node.label }}
            </span>
          </span>
        </el-tree>
      </div>
    </div>
    <div class="temperature_monitoring_right">内容</div>
  </div>
</template>

<script>
export default {
  name: 'TemperatureMonitoring',
  components: {},
  props: {},
  data() {
    return {
      datalist: [
        {
          label: '园区A',
          children: [
            {
              label: 'A栋',
              children: [
                {
                  label: '厂房1',
                  children: [
                    {
                      label: '车间1',
                      children: [
                        {
                          label: '101'
                        },
                        {
                          label: '102'
                        },
                        {
                          label: '103'
                        },
                        {
                          label: '104'
                        }
                      ]
                    },
                    {
                      label: '车间2'
                    },
                    {
                      label: '车间3'
                    },
                    {
                      label: '车间4'
                    }
                  ]
                },
                {
                  label: '厂房2',
                  children: [
                    {
                      label: '车间1'
                    },
                    {
                      label: '车间2'
                    },
                    {
                      label: '车间3'
                    },
                    {
                      label: '车间4'
                    }
                  ]
                },
                {
                  label: '厂房3',
                  children: [
                    {
                      label: '车间1'
                    },
                    {
                      label: '车间2'
                    },
                    {
                      label: '车间3'
                    },
                    {
                      label: '车间4'
                    }
                  ]
                },
                {
                  label: '厂房4',
                  children: [
                    {
                      label: '车间1'
                    },
                    {
                      label: '车间2'
                    },
                    {
                      label: '车间3'
                    },
                    {
                      label: '车间4'
                    }
                  ]
                },
                {
                  label: '厂房5',
                  children: [
                    {
                      label: '车间1'
                    },
                    {
                      label: '车间2'
                    },
                    {
                      label: '车间3'
                    },
                    {
                      label: '车间4'
                    }
                  ]
                }
              ]
            },
            {
              label: 'B栋',
              children: [
                {
                  label: '厂房1'
                }
              ]
            }
          ]
        }
      ],
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  computed: {},
  watch: {},
  created() {},
  methods: {
    handleNodeClick(data) {
      console.log(data)
    }
  }
}
</script>

<style lang="scss" scoped>
.temperature_monitoring {
  display: flex;
  padding: 12px;
  .temperature_monitoring_left {
    width: 200px;
    padding-right: 12px;
  }
}
</style>

<style  lang='scss'>
.temperature_monitoring {
  /* 树形结构节点添加连线 */
  .tree .el-tree-node {
    position: relative;
  }

  .tree .el-tree-node__children {
    padding-left: 24px;
  }

  .tree .el-tree-node :last-child:before {
    height: 38px;
  }

  .tree .el-tree > .el-tree-node:before {
    border-left: none;
  }
  .tree-container .el-tree > .el-tree-node:after {
    border-top: none;
  }

  .tree .el-tree-node__children .el-tree-node:before {
    content: '';
    left: -4px;
    position: absolute;
    right: auto;
    border-width: 1px;
  }

  .tree .el-tree-node:after {
    content: '';
    left: -4px;
    position: absolute;
    right: auto;
    border-width: 1px;
  }
  .tree .el-tree-node__expand-icon.is-leaf {
    display: none;
  }

  .tree .el-tree-node:before {
    border-left: 1px solid #1173e6;
    bottom: 0px;
    height: 140%;
    top: -26px;
    width: 1px;
  }

  .tree .el-tree-node:after {
    border-top: 1px solid #1173e6;
    height: 20px;
    top: 12px;
    width: 24px;
  }

  .tree .el-tree-node {
    &:last-child:after {
      border-left: 1px solid #fff;
      height: 100%;
    }
  }

  .tree .custom-tree-node {
    padding-left: 10px;
  }
  .el-tree-node__content {
    border: 1px solid #1173e6;
    padding-left: 0 !important;
    padding-right: 32px;
    margin-left: 20px;
    margin-top: 8px;
  }
  .el-tree-node__content:hover {
    background: #1173e6;
    color: #fff;
    .el-tree-node__expand-icon {
      color: #fff;
    }
  }
  .el-tree-node__expand-icon {
    position: absolute;
    right: 2%;
    color: #1173e6;
  }
  .el-tree-node.is-current > .el-tree-node__content {
    color: #fff;
    background-color: #1067ee;
    .el-tree-node__expand-icon {
      color: #fff;
    }
  }
}
</style>

http://www.kler.cn/news/353527.html

相关文章:

  • Git中从dev分支恢复master分支
  • 爬虫逆向学习(十二):一个案例入门补环境
  • perl文件测试操作符及其意义
  • 线性代数知识学习
  • JAVA 中的 String 类
  • 【C++笔记】类和对象(上)
  • Java 小游戏《超级马里奥》
  • 【网页设计】CSS Part2
  • [Linux] Linux 模拟实现 Shell
  • 案例分析:Modbus设备如何通过MQTT网关连接阿里云IoT
  • 《数据结构》学习系列——树(中)
  • MySQL 的数据类型
  • [权威出版|稳定检索]2024年信息控制、电气与智慧交通国际会议(ICEIT 2024)
  • 【深入学习Redis丨第八篇】详解Redis数据持久化机制
  • 2025推荐选题|微信小程序实现经济新闻资讯
  • 双目标定的原理
  • bash之变量和参数
  • BWA 的基本介绍和主要算法
  • 【工欲善其事】巧用 PowerShell 自动清除复制 PDF 文本时夹杂的换行符号
  • 强推!首个全面涵盖LiDAR里程计算法的综述(一):LiDAR-Only与LIO算法综述