首页 > 其他分享 >el-tree实现自定义节点内容

el-tree实现自定义节点内容

时间:2023-05-19 15:36:04浏览次数:42  
标签:node el const 自定义 tree id label data children


el-tree实现自定义节点内容_JSON

<!--
 * @Descripttion: el-tree实现自定义节点内容
 * @version: 
 * @Author: zhangfan
 * @email: [email protected]
 * @Date: 2020-07-03 09:10:28
 * @LastEditors: zhangfan
 * @LastEditTime: 2020-07-16 11:21:20
--> 

<template>
  <div class="treeBox">
    <div class="custom-tree-container">
      <div class="block">
        <el-tree
          :data="data"
          show-checkbox
          node-key="id"
          default-expand-all
          :expand-on-click-node="false"
        >
          <span class="custom-tree-node" slot-scope="{ node, data }">
            <span>{{ node.label }}</span>
            <span>
              <el-button type="text" size="mini" @click="() => append(data)">新增</el-button>
              <el-button type="text" size="mini" @click="() => remove(node, data)">删除</el-button>
            </span>
          </span>
        </el-tree>
      </div>
    </div>
  </div>
</template>

<script>
let id = 1000;

export default {
  data() {
    const data = [
      {
        id: 1,
        label: "一级 1",
        children: [
          {
            id: 4,
            label: "二级 1-1",
            children: [
              {
                id: 9,
                label: "三级 1-1-1"
              },
              {
                id: 10,
                label: "三级 1-1-2"
              }
            ]
          }
        ]
      },
      {
        id: 2,
        label: "一级 2",
        children: [
          {
            id: 5,
            label: "二级 2-1"
          },
          {
            id: 6,
            label: "二级 2-2"
          }
        ]
      }
    ];
    return {
      data: JSON.parse(JSON.stringify(data))
    };
  },

  methods: {
    append(data) {
      const newChild = { id: id++, label: "testtest", children: [] };
      if (!data.children) {
        this.$set(data, "children", []);
      }
      data.children.push(newChild);
    },

    remove(node, data) {
      const parent = node.parent;
      const children = parent.data.children || parent.data;
      const index = children.findIndex(d => d.id === data.id);
      children.splice(index, 1);
    }
  }
};
</script>

<style>
.custom-tree-node {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  padding-right: 8px;
}
.treeBox {
  width: 500px;
  height: 800px;
}
</style>


标签:node,el,const,自定义,tree,id,label,data,children
From: https://blog.51cto.com/u_16120408/6312745

相关文章

  • el-table中的formatter 对列的值进行处理
    -后台返回的table数据不符合前端展示,下面是人员统计表:这样显然是不符合要求的。下面通过elementUI中的table提供了formatter这个属性来对传入的数据进行用户自定义的格式化。目的达到了,直接上代码:<!--*@Descripttion:el-table中的formatter对列的值进行处理*@version:......
  • Thymeleaf
    Thymeleaf视图模板技术JavaWeb教程目录|代码重工(gitee.io)6.thymeleaf的部分标签1)使用步骤:添加jar,新建ViewBaseServlet(有两个方法),配置两个<context-param>:view-prefix,view-suffix2)部分标签:<th:if>,<th:unless>,<th:each>,<th:text>7、Thym......
  • EL表达式
    EL表达式1、什么是El表达式,他有什么作用?EL表达式的全称是:ExpressionLanguage。是表达式语言El表达式的作用是:El表达式主要是替代jsp页面中的表达式脚本在jsp页面中进行数据的输出。因为EL表达式在输出数据是,要比jsp的表达式脚本简洁得很多。<body><%request......
  • elementUI实现el-table分页多选功能,解决点击分页之后还可以选中
    <template><div><el-dialogtitle="批量下载推广码":visible.sync="dialogVisibleDownCodeAll"width="900px":before-close="close"><divclass="container"......
  • Excel的开发工具中模块等含义
    如图:      ......
  • DCC32命令行方式编译delphi工程源码
    本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/10284879作者:苏生米沿 一、首先找到这个可执行文件,熟悉delphi的人应该很容易就找到,打开你安装delphi的目录,如我的路径C:\ProgramFiles\Delphi_2007\bin\DCC32.EXE二、拷贝一份出来,我将其放在了我的测试目录下......
  • python使用exchangelib读取、保存exchange邮件
    importosfromdatetimeimportdatetimeimportpytzfromexchangelibimportCredentials,Account,Configuration,DELEGATE,Q,FileAttachmentdefreceived_exchange_message():"""接收exchange邮件,保存邮件到本地:return:""......
  • Shell常用命令
    Shell常用命令shell字符!:执行历史命令!!:执行上一条命令$:变量中取内容符+-*/%:对应数学运算加减乘除取余数&:后台执行;:分号可以在shell中一行执行多个命令,命令之......
  • elementui 表单验证
    ————————————————版权声明:本文为CSDN博主「橙-极纪元」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/cplvfx/article/details/125329481介绍Form组件提供了表单验证的功能,只需要通过rules属性传入......
  • STI比赛任务一:【智能问答baseline】
    比赛简介百度搜索首届技术创新挑战赛:赛道一答案抽取STI比赛任务一:【比赛数据分析与长尾发现】STI比赛任务一:【NLP常见优化算法和上分Trick】STI比赛任务一:【智能问答baseline】任务定义本赛题任务是:给定一个用户搜索问题集合Q,基于每个搜索问题q,给定搜索引擎检索得到的网页文档集合......