IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 自定义《element-UI》el-tree 的样式 、亲测管用 -> 正文阅读

[JavaScript知识库]自定义《element-UI》el-tree 的样式 、亲测管用

目录

?第一种 切换箭头打开和折叠 :

?第二种 修改箭头打开和折叠 + 动画:

?第三种 修改箭头打开和折叠 + 一二级自定义图标:

?第四种在el-tree前加复选框和图标


第一种 切换箭头打开和折叠 :

<template>
  <div class="tree">
    <el-tree
      :data="data5"
      :props="props"
      show-checkbox
      node-key="id"
      default-expand-all
    >
    </el-tree>
  </div>
</template>

<script>
export default {
  data() {
    return {
      props: {
        label: "label",
        children: "children",
      },
      data5: [
        {
          id: 1,
          label: "一级 1",
          icon: "el-icon-success",
          children: [
            {
              id: 4,
              label: "二级 1-1",
              children: [
                {
                  id: 9,
                  label: "三级 1-1-1",
                  icon: "el-icon-info",
                },
                {
                  id: 10,
                  label: "三级 1-1-2",
                },
              ],
            },
          ],
        },
        {
          id: 2,
          label: "一级 2",
          children: [
            {
              id: 5,
              label: "二级 2-1",
            },
            {
              id: 6,
              label: "二级 2-2",
            },
          ],
        },
        {
          id: 3,
          label: "一级 3",
          children: [
            {
              id: 7,
              label: "二级 3-1",
            },
            {
              id: 8,
              label: "二级 3-2",
            },
          ],
        },
      ],
    };
  },
};
</script>
<style lang="scss" scoped>


::v-deep .el-icon-caret-right:before {
  content: "y";
  font-size: 16px;
}

::v-deep .expanded:before {
  content: "x";
  font-size: 16px;
}
</style>

?第二种 修改箭头打开和折叠 + 动画:

<template>
  <div class="tree">
    <el-tree
      icon-class="user"
      :data="data5"
      :props="props"
      show-checkbox
      node-key="id"
      default-expand-all
    >
      <span class="custom-tree-node" slot-scope="{ node, data }">
        <span> <i :class="node.icon"></i>{{ node.label }} </span>
      </span>
    </el-tree>
  </div>
</template>

<script>
export default {
  data() {
    return {
      props: {
        label: "label",
        children: "children",
      },
      data5: [
        {
          id: 1,
          label: "一级 1",
          icon: "el-icon-success",
          children: [
            {
              id: 4,
              label: "二级 1-1",
              children: [
                {
                  id: 9,
                  label: "三级 1-1-1",
                  icon: "el-icon-info",
                },
                {
                  id: 10,
                  label: "三级 1-1-2",
                },
              ],
            },
          ],
        },
        {
          id: 2,
          label: "一级 2",
          children: [
            {
              id: 5,
              label: "二级 2-1",
            },
            {
              id: 6,
              label: "二级 2-2",
            },
          ],
        },
        {
          id: 3,
          label: "一级 3",
          children: [
            {
              id: 7,
              label: "二级 3-1",
            },
            {
              id: 8,
              label: "二级 3-2",
            },
          ],
        },
      ],
    };
  },
};
</script>
<style lang="scss" scoped>
/deep/.user {
  //   background: url("../../assets/logo.png");
  background: url("../../assets/logo.png");
  
  box-sizing: border-box;
  background-size: 100%;
  background-repeat: no-repeat;
}
/deep/.el-tree-node__expand-icon {
  transform: rotate(-90deg);
}
/deep/.el-tree-node__expand-icon.expanded {
  transform: rotate(0deg);
}
</style>

?第三种 修改箭头打开和折叠 + 一二级自定义图标:

<template>
  <div class="ov-container">
    <el-tree :data="data" :props="defaultProps">
      <span class="custom-tree-node" slot-scope="{ node, data }">
        <i v-if="node.level == 1" class="province" />
        <i v-else-if="node.level == 2" class="city" />
        <i v-else-if="node.level == 3" />
        {{ data.label }}
      </span>
    </el-tree>
  </div>
</template>

<script>
export default {
  name: "index",
  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: "一级 4",
          children: [
            {
              label: "三级 3-2-1",
            },
          ],
        },
        {
          label: "一级 4",
        },
      ],
    };
  },
};
</script>

<style scoped lang="scss">
.ov-container {
  height: calc(100vh - 80px);
  background: #ffffff;
  border-radius: 5px;
  margin: 10px;
}

.province {
  background: url("../../assets/logo.png");
  width: 17px;
  height: 14px;
  display: inline-block;
   background-size: 100% 100%;

}

.city {
  background: url("../../assets/图片2.png") no-repeat;
  width: 17px;
  height: 14px;
  display: inline-block;
  background-size: 100% 100%;

}

.line {
  background: url("../../assets/百花.png") no-repeat;
  background-size: 100%;

  width: 17px;
  height: 14px;
  display: inline-block;
}

.data {
  background: url("../../assets/花朵.png") no-repeat;
  background-size: 100%;

  width: 17px;
  height: 14px;
  display: inline-block;
}

.el-tree /deep/ .el-tree-node__expand-icon.expanded {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
//有子节点 且未展开
.el-tree /deep/ .el-icon-caret-right:before {
//   background: url("../../assets/logo.png") no-repeat 0 0;
  content: "√";
  display: block;
  width: 12px;
  height: 12px;
  font-size: 16px;
  background-size: 100% 100%;
}
//有子节点 且已展开
.el-tree /deep/ .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
//   background: url("../../assets/logo.png") no-repeat 0 0;
  content: "x";
  display: block;
  width: 12px;
  height: 12px;
  font-size: 12px;
  background-size: 100% 100%;
}
//没有子节点
.el-tree /deep/.el-tree-node__expand-icon.is-leaf::before {
//    background: url("../../assets/logo.png") no-repeat 0 0;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  font-size: 16px;
  background-size: 100% 100%;
}
</style>

?第四种在el-tree前加复选框和图标

更新中。。。

2022/3/16 23:01?

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 22:02:04  更:2022-03-17 22:02:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:39:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码