element Tree扩展(更换图标,添加指引线)

效果图,如下图所示,如需更换图标,替换图标即可
在这里插入图片描述

<template>
  <el-tree
    :data="data"
    default-expand-all
    :props="defaultProps"
    @node-click="handleNodeClick"
  />
</template>

<script>
export default {
  name: "Dashboard",
  data() {
    return {
      data: [
        {
          label: "一级 1",
          children: [
            {
              label: "二级 1-1",
              children: [
                {
                  label: "三级 1-1-1",
                },
              ],
            },
          ],
        },
        {
          label: "一级 2",
          children: [
            {
              label: "二级 2-1",
              children: [
                {
                  label: "三级 2-1-1",
                },
              ],
            },
            {
              label: "二级 2-2",
              children: [
                {
                  label: "三级 2-2-1",
                },
              ],
            },
          ],
        },
        {
          label: "一级 3",
          children: [
            {
              label: "二级 3-1",
              children: [
                {
                  label: "三级 3-1-1",
                },
              ],
            },
            {
              label: "二级 3-2",
              children: [
                {
                  label: "三级 3-2-1",
                },
                {
                  label: "三级 3-2-2",
                  children: [
                    {
                      label: "三级 3-2-2-1",
                    },
                    {
                      label: "三级 3-2-2-2",
                    },
                  ],
                },
              ],
            },
          ],
        },
      ],
      defaultProps: {
        children: "children",
        label: "label",
      },
    };
  },
  methods: {
    handleNodeClick(data) {
      console.log(data);
    },
  },
};
</script>

<style lang="less" scoped>
.el-tree ::v-deep {
  .el-tree-node__content {
    position: relative;
  }
  //竖线
  .el-tree-node:last-child > .el-tree-node__content::before {
    content: "";
    width: 1px;
    height: 10000px;
    border-width: 1px;
    border-left: 1px solid #52627c;
    position: absolute;
    margin-left: -9px;
    bottom: 13px;
  }
  //横线
  .el-tree-node__children .el-tree-node__content::after {
    content: "";
    width: 13px;
    height: 1px;
    border-width: 1px;
    border-top: 1px solid #52627c;
    position: absolute;
    margin-left: -9px;
  }
  .el-tree-node__content > .el-tree-node__expand-icon {
    padding: 6px 3px;
  }
  .el-tree-node__expand-icon.expanded {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  //有子节点 且未展开
  .el-icon-caret-right:before {
    background: url("../../../../../public/imgs/add.png") no-repeat 0;
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    font-size: 16px;
    background-size: 16px;
  }
  //有子节点 且已展开
  .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
    background: url("../../../../../public/imgs/del.png") no-repeat 0;
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    font-size: 16px;
    background-size: 16px;
  }
  //没有子节点
  .el-tree-node__expand-icon.is-leaf::before {
    background: url("../../../../../public/imgs/del.png") no-repeat 0;
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    font-size: 16px;
    background-size: 16px;
  }
}
</style>

图中图标:下图
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值