《ElementUI 基础知识》el-tree 之“我的电脑”目录结构效果

前言

项目需求,Web 端获取服务器文件夹目录结构。目录数据是调接口获取,本篇略过,直接展现数据!

效果

在这里插入图片描述

实现

html

  • 代码 8 - 15 行,自定义节点信息;
  • 代码 9 - 14 行,判断 icon 显示;
<el-treeref="tree":data="treeData"accordionnode-key="level":props="defaultTreeProps"@node-click="handleNodeClick"><span slot-scope="{ node, data }"  style="display: flex;"><!-- 父节点-未展开 --><i v-if="node.childNodes.length > 0 && !node.expanded" class="my-icon folder-icon"/><!-- 父节点-已展开 --><i v-else-if="node.childNodes.length > 0 && node.expanded" class="my-icon folder-open-icon"/><!-- 子节点 --><i v-else class="my-icon file-icon"/>{{ node.label}}</span>
</el-tree>

数据

treeData: [{text: '我的电脑',children: [{text: '桌面:\\',path: "C:\\Users\\admin\\Desktop",children: [{text: '新建文件夹',path: "C:\\Users\\admin\\Desktop\\新建文件夹",children: [{text: 'test.txt',path: "C:\\Users\\admin\\Desktop\\test.txt",},{text: '报表.xlsx',path: "C:\\Users\\admin\\Desktop\\报表.xlsx",},]},{text: '测试文档.xlsx',path: "C:\\Users\\admin\\Desktop\\测试文档.xlsx",},]},{text: 'C:\\',path: "C:\\",children: [{text: 'Program Files',path: "C:\\Users\\admin\\Desktop\\Program Files",children: [{text: 'Microsoft Office',path: "C:\\Users\\admin\\Desktop\\Microsoft Office",children: [{text: '季度总结.docx',path: "C:\\Users\\admin\\Desktop\\Microsoft Office\\季度总结.docx",},{text: '季度汇报.pptx',path: "C:\\Users\\admin\\Desktop\\Microsoft Office\\季度汇报.pptx",},]},{text: '报表.xlsx',path: "C:\\Users\\admin\\Desktop\\报表.xlsx",},]},{text: '测试文档.xlsx',path: "C:\\Users\\admin\\Desktop\\测试文档.xlsx",leaf: true,},]},{text: 'D:\\',path: "D:\\",children: [{text: '游戏',path: "D:\\游戏",children: [{text: '游戏01.xlsx',path: "D:\\游戏\\游戏01.xlsx",},{text: '游戏02.xlsx',path: "D:\\游戏\\游戏02.xlsx",},]},]},{text: 'E:\\',path: "E:\\",children: [{text: '电影',path: "E:\\电影",children: [{text: '玩具总动员.mp4',path: "E:\\电影\\玩具总动员.mp4",},{text: '冰雪奇缘.mp4',path: "E:\\电影\\冰雪奇缘.mp4",},{text: '疯狂动物城.mp4',path: "E:\\电影\\疯狂动物城.mp4",},]},]},]
}],

完整代码

注意是 Vue2 文件

<template><div class="dir-tree-main"><el-dialog title="我的电脑" :visible.sync="dialogVisible" class="directory-dialog" v-if="dialogVisible"><el-treeref="tree":data="treeData"accordionnode-key="level":props="defaultTreeProps"@node-click="handleNodeClick"><span slot-scope="{ node, data }"  style="display: flex;"><!-- 父节点-未展开 --><i v-if="node.childNodes.length > 0 && !node.expanded" class="my-icon folder-icon"/><!-- 父节点-已展开 --><i v-else-if="node.childNodes.length > 0 && node.expanded" class="my-icon folder-open-icon"/><!-- 子节点 --><i v-else class="my-icon file-icon"/>{{ node.label}}</span></el-tree><div class="btns"><el-button type="info" @click="dialogVisible=false;">取消</el-button><el-button type="primary" @click="onSelect">确定</el-button></div></el-dialog></div>
</template>
<script>
export default {data() {return {dialogVisible: false,treeData: [{text: '我的电脑',children: [{text: '桌面:\\',path: "C:\\Users\\admin\\Desktop",children: [{text: '新建文件夹',path: "C:\\Users\\admin\\Desktop\\新建文件夹",children: [{text: 'test.txt',path: "C:\\Users\\admin\\Desktop\\test.txt",},{text: '报表.xlsx',path: "C:\\Users\\admin\\Desktop\\报表.xlsx",},]},{text: '测试文档.xlsx',path: "C:\\Users\\admin\\Desktop\\测试文档.xlsx",},]},{text: 'C:\\',path: "C:\\",children: [{text: 'Program Files',path: "C:\\Users\\admin\\Desktop\\Program Files",children: [{text: 'Microsoft Office',path: "C:\\Users\\admin\\Desktop\\Microsoft Office",children: [{text: '季度总结.docx',path: "C:\\Users\\admin\\Desktop\\Microsoft Office\\季度总结.docx",},{text: '季度汇报.pptx',path: "C:\\Users\\admin\\Desktop\\Microsoft Office\\季度汇报.pptx",},]},{text: '报表.xlsx',path: "C:\\Users\\admin\\Desktop\\报表.xlsx",},]},{text: '测试文档.xlsx',path: "C:\\Users\\admin\\Desktop\\测试文档.xlsx",leaf: true,},]},{text: 'D:\\',path: "D:\\",children: [{text: '游戏',path: "D:\\游戏",children: [{text: '游戏01.xlsx',path: "D:\\游戏\\游戏01.xlsx",},{text: '游戏02.xlsx',path: "D:\\游戏\\游戏02.xlsx",},]},]},{text: 'E:\\',path: "E:\\",children: [{text: '电影',path: "E:\\电影",children: [{text: '玩具总动员.mp4',path: "E:\\电影\\玩具总动员.mp4",},{text: '冰雪奇缘.mp4',path: "E:\\电影\\冰雪奇缘.mp4",},{text: '疯狂动物城.mp4',path: "E:\\电影\\疯狂动物城.mp4",},]},]},]}],defaultTreeProps: {children: 'children',label: 'text'},currNode: null}},methods: {// node clickhandleNodeClick(data, node, component) {console.log(data, node);// 当前nodethis.currNode = node;},// 确定onSelect() {// TODOthis.dialogVisible = false;}},mounted() {setTimeout(() => {this.dialogVisible = true;}, 100)},
}
</script>
<style lang="stylus" scoped>
.dir-tree-main {width: 100%;height: 100%;position: absolute;top: 0;bottom: 0;left: 0;right: 0;background: #999;
}
.directory-dialog {.el-dialog {margin-top: 10vh !important;}.el-tree {height: 50vh;overflow-y: scroll;border: 1px solid #999;}.btns {margin-top: 20px;display: flex;  }
}
.my-icon {display: inline-block;width: 16px;height: 16px;background-size: 16px 16px;margin-right: 8px;
}
.file-icon {background: url(../assets/images/file2.png);
}
.folder-icon {background: url(../assets/images/folder.png);width: 15px;height: 15px;background-size: 15px 15px;
}
.folder-open-icon {background: url(../assets/images/folder-open2.png);
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/833606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[沫忘录]MySQL储存对象

[沫忘录]MySQL储存对象 视图 视图本质是对原表(基表)显示上的裁剪&#xff0c;可以当作表进行操作&#xff0c;其操作的结果会直接反馈到原表上&#xff0c;即对视图的操作实质上是对原表的操作。 MySQL不仅支持为基表创建视图&#xff0c;同时也支持为视图创建视图。 基本语…

Bumblebee X系列用于高精度机器人应用的新型立体视觉产品

Bumblebee X是最新的GigE驱动立体成像解决方案&#xff0c;为机器人引导和拾取应用带来高精度和低延迟。 近日&#xff0c;51camera的合作伙伴Teledyne FLIR IIS推出一款用于高精度机器人应用的新型立体视觉产品Bumblebee X系列。 Bumblebee X产品图 BumblebeeX系列&#xff…

百度云内容审核快速配置 (java)

为什么要选择百度云 &#xff1f; 因为他免费用一年 首先要先开通百度云内容安全服务 按照操作指引走完整套 ContentCensor Java SDK目录结构** com.baidu.aip├── auth //签名相关类├── http //Http通…

IDEA 好用的插件

图标插件&#xff1a;Atom Material Icons 此插件的作用就是更好的显示各种文件的类别&#xff0c;使之一目了然 汉化包 Chinese ​(Simplified)​ Language Pack / 中文语言包 作用就是 汉化 AI编码助手 GitHub Copilot AI编码助手&#xff1a;提示代码很好用 缺点&#xff1a…

使用perf查看热点函数和系统调用最大延迟函数

1、安装perf工具 1.1、ubuntu 18.04 x86下的安装 安装sudo apt install linux-source sudo apt install linux-tools-uname -r # ubuntu 18.04虚拟机实操可行 1.2、ubuntu 18.04 ARM下的安装 参考 Nvidia Jetson系列产品安装Perf ​ARM64版本的Ubuntu上安装perf 与参考文…

windows11获取笔记本电脑电池健康报告

笔记本电脑的电池关系到我们外出时使用的安全&#xff0c;如果电池健康有问题需要及时更换&#xff0c;windows系统提供了检查电池健康度的方法。 1、打开命令行 1&#xff09;键入 winR 2&#xff09;键入 cmd 打开命令行。 2、在命令行运行如下指令&#xff0c;生成电池健…

DI-engine强化学习入门(九)环境包裹器(Env Wrapper)

在强化学习中&#xff0c;环境&#xff08;Environment&#xff09;是智能体&#xff08;Agent&#xff09;进行学习和互动的场所&#xff0c;它定义了状态空间、动作空间以及奖励机制。Env Wrapper&#xff08;环境包装器&#xff09;提供了一种方便的机制来增强或修改原始环境…

很好的Baidu Comate,使我的编码效率飞起!

文章目录 背景及简单介绍Baidu Comate安装功能演示总结 &#x1f381;写在前面&#xff1a; 观众老爷们好呀&#xff0c;这里是前端小刘不怕牛牛频道&#xff0c;今天牛牛在论坛发现了一款便捷实用的智能编程助手&#xff0c;就是百度推出的Baidu Comate。下面是Baidu Comate评…

MT3034 算术招亲

跟MT3033新的表达式类似&#xff0c;只多了一个括号合法性的判断 #include <bits/stdc.h> using namespace std; const int N 40; bool tag[N]; bool is_op(char c) {return c || c - || c * || c / || c ^; } int priority(char op) { // 优先级排序if (op ||…

vector、heap数组、stack数组访问性能验证

测试目的 本次测试旨在比较不同数据结构&#xff08;vector、数组&#xff09;以及不同访问方法&#xff08;[]、at()、offset&#xff09;在性能上的差异&#xff0c;从而为开发者提供在特定情境下做出最佳选择的依据。 测试代码 测试网址:Quick C Benchmarks 使用GCC9.5 …

微服务项目实战-黑马头条(十三):持续集成

文章目录 项目部署_持续集成1 今日内容介绍1.1 什么是持续集成1.2 持续集成的好处1.3 今日内容 2 软件开发模式2.1 软件开发生命周期2.2 软件开发瀑布模型2.3 软件的敏捷开发 3 Jenkins安装配置3.1 Jenkins介绍3.2 Jenkins环境搭建3.2.1 Jenkins安装配置3.2.2 Jenkins插件安装3…

中仕公考:非应届生能考军队文职吗?

军队文职考试的招生对象主要针对普通高等学校的毕业生以及社会人才&#xff0c;报考条件中并没有限制考生必须是应届毕业生。所以&#xff0c;往届毕业生也是具备报考资格的&#xff0c;只需其满足相关的申请条件即可。 报考人员可大致分为三类&#xff1a;普通高校毕业生、社…

Linux中云盘/磁盘,爆满处理方式

1&#xff1a;du和df命令查看磁盘大小不一致 以下是阿里云服务器云盘使用率 运行 du -sh / 大小为20g 我的服务器大小为40g 按道理说这个云盘使用率应该是百分之五十 而运行 df -h / 这个命令是跟这个云盘使用率差不多的。 1.1分析原因 我安装了mysql&#xff0c;nginx…

微信投票小程序源码系统 独家支持礼物投票 道具投票盈利能力超强 带完整的安装代码包以及搭建教程

微信小程序的快速发展&#xff0c;各类应用场景层出不穷&#xff0c;其中投票小程序因其广泛的适用性和互动性&#xff0c;成为了许多企业和个人推广、活动的首选工具。小编给大家分享一款微信投票小程序源码系统&#xff0c;该系统以其独特的礼物投票和道具投票功能&#xff0…

公众号流量主的收益怎么样?

公众号之前是一个私域平台&#xff0c;没有粉丝基本是没有推荐的&#xff0c;所以之前入门的门槛还是很高的&#xff0c;但是今年公众号和视频号改变了推流的机制&#xff0c;现在发的文章会进入到流量池中&#xff0c;进入到公域流量&#xff0c;所以发布的优质文章会大爆的&a…

大模型驱动的新一代 BI 平台,Sugar BI 开启智慧决策新模式

本文整理自 2024 年 4 月 16 日的 2024 百度 Create 大会上的《大模型驱动的新一代 BI 平台如何开启智慧决策》分享。 全文包括了可视化 BI 分析技术架构、智能图表推荐策略与规则设计、Sugar Bot 智能问数的技术实现流程&#xff0c;以及目前的场景应用等。 1 Sugar BI 产…

C#语言基础

一、复杂数据类型 1. 枚举 1.1 基本概念 1.1.1 枚举是什么 枚举是一个被命名的整型常量的集合&#xff0c;一般用它来表示状态、类型等等 1.1.2 申明枚举和申明枚举变量 申明枚举和申明枚举变量是两个概念 申明枚举&#xff1a;相当于是创建一个自定义的枚举类型 申明枚…

python爬虫(二) 之 42号网汽车文章爬虫

python爬虫&#xff08;二&#xff09; 之 42号网汽车文章爬虫 今天在咸鱼上有个买家找我一个42号网汽车文章的爬虫&#xff0c;目前需求已经做完了&#xff0c;现在将这部分代码开源&#xff0c;供大家参考。爬虫能够抓取到网站上所有文章的数据&#xff0c;大概一小时左右就…

一款功能强大的网络安全综合工具-PotatoTool

一、 简介 这款工具是一款功能强大的网络安全综合工具&#xff0c;旨在为安全从业者、红蓝对抗人员和网络安全爱好者提供全面的网络安全解决方案。它集成了多种实用功能&#xff0c;包括解密、分析、扫描、溯源等&#xff0c;为用户提供了便捷的操作界面和丰富的功能选择。 二…

「YashanDB迁移体验官」Oracle向YashanDB迁移的丝滑体验

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、My…