《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://xiahunao.cn/news/3019252.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构学不会?数据结构可视化网站来了

目录 前言 图码网站 算法可视化 算法编辑器 数据结构全书 数据结构课程 总结 前言 数据结构与算法在计算机的学习中应该是许多小白最头疼的东西&#xff0c;明明听的时候那么容易&#xff0c;为什么转换成代码就那么抽象呢&#xff1f; 有没有一个网站可以数据结构与算…

C语言——文件描述符、系统调用操作文件

文件描述符 在Unix-like操作系统中&#xff0c;文件描述符&#xff08;file descriptor&#xff09;是一个用于标识打开文件或I/O设备的整数值。它是对底层文件系统的抽象&#xff0c;用于在应用程序和操作系统之间传递文件信息。 文件描述符是一个非负整数&#xff0c;通常是…

FX110书籍推荐:如何快速成为一名专业股票投资人?

股票投资领域有一本神作《股票交易入门》&#xff0c;它是股票从业人员的入门必备书籍。 关于股票入门的书籍很多&#xff0c;但这本书涉及的知识面最全、实用性最强。从这本书里&#xff0c;我们可以领略到股票交易世界的跌宕起伏而又波澜壮阔的魅力。本书作者 本书的作者是美…

【自动驾驶|毫米波雷达】卡尔曼滤波

目录 一. 滤波器分类 二.卡尔曼滤波&#xff08;Kalman Filter&#xff09;原理 &#xff08;1&#xff09;定性理解 &#xff08;2&#xff09;定量推导 1. 预测阶段 2. 更新阶段 3. 卡尔曼增益 1&#xff09;卡尔曼增益 2&#xff09;如何理解卡尔曼增益&#xff1f; 三…

省份数量00

题目链接 省份数量 题目描述 注意点 1 < n < 200isConnected[i][j] 为 1 或 0isConnected[i][i] 1isConnected[i][j] isConnected[j][i] 解答思路 最初想到的是广度优先遍历&#xff0c;当某个城市不属于省份&#xff0c;需要从该城市开始&#xff0c;根据isConne…

重大消息!软考高级论文单考,综合和案例连考

依据辽宁省信息技术教育中心&#xff08;辽宁省软考办&#xff09;发布《关于2024年上半年计算机技术与软件专业技术资格(水平)考试批次安排的通知》可知&#xff0c;2024年上半年软考有如下调整&#xff1a; 1.软考高级考试中&#xff0c;综合知识和案例分析连考&#xff08;…

【功耗仪使用】

一&#xff0c;功耗仪使用 1.1&#xff0c;功耗仪外观及与手机&#xff0c;电脑连接方式 power monitor设备图 同时power monitor设备的后端有一个方形插孔通过数据线与电脑主机USB接口相连接&#xff0c;圆形插孔为电源插孔&#xff0c;用来给power monitor设备通电 pow…

淘宝优惠券领取软件草柴返利APP想从淘宝粘贴提示怎么关闭?想从天猫粘贴、想从京东粘贴弹窗提示关闭

使用iPhone苹果手机想从淘宝点击分享复制链接&#xff0c;到草柴APP查询该商品内部大额隐藏优惠券和返利。可是&#xff0c;苹果iPhone手机每次将复制的商品链接&#xff0c;粘贴到草柴APP时都是提示&#xff1a;“草柴”想从“淘宝”粘贴&#xff0c;每次都需要点击允许粘贴后…

MT2049 运动会进行中

思路&#xff1a;使用a存前缀和。遇见女生-1&#xff0c;遇见男生1。之后遍历a的时候&#xff0c;如果a[i]a[j]&#xff0c;则说明ij这个区间里男女生数量是一样的。所以即求ij这个区间最大长为多少。可以用l[]r[]数组记录某个数第一次出现的位置和最后一次出现的位置。 例如样…

【XR806开发板试用】SPI驱动数码管显示

准备工作 安装repo 创建repo安装目录。 mkdir ~/bin下载repo wget https://storage.googleapis.com/git-repo-downloads/repo -P ~/bin/改变执行权限 chmod ax ~/bin/repo设置环境变量&#xff0c;在~/.bashrc文件的最后输入 export PATH~/bin:$PATH和export REPO_URLhttps://…

java项目+maven+sonarqube+githook 实现代码提交审查

java项目mavensonarqubegithook 实现代码提交审查 当在团队开发过程中, 由于开发人员技术和风格的不同,导致代码质量和风格各不相同, 为了减少合并时的工作量, 以及基础的一些bug 的避免, 可以使用 (sonarqube阿里巴巴开发规范) 实现代码质量的检测. 为了更加简便, 即在使用git…

武汉星起航:亚马逊年终促销新策略——强化营销,优化体验赢未来

年终节日是电商平台的黄金销售期&#xff0c;也是各大电商平台竞相展示自身实力与智慧的重要舞台。作为全球电商巨头的亚马逊&#xff0c;自然也不例外。每年的年终节日&#xff0c;亚马逊都会推出一系列精彩纷呈的促销活动&#xff0c;吸引全球消费者的目光&#xff0c;实现销…

终端安全管理措施有哪些?好用终端安全管理软件推荐(建议收藏)

在当今数字化时代&#xff0c;信息安全已成为企业运营不可或缺的一部分。其中&#xff0c;终端安全为您详细介绍&#xff0c;并推荐几款好用的终端安全管理软件&#xff0c;帮助您更好地保护企业信息安全。管理是确保企业信息安全的重要环节。那么&#xff0c;终端安全管理措施…

JAVA智慧校园平台系统源码:基于前后端框架VUE2+Spring boot+Wed端原生小程序搭建的智慧校园平台

智慧校园平台是目前教育信息化领域的热点之一。随着数字化转型的加速&#xff0c;越来越多的学校开始寻求解决方案&#xff0c;以提高教育管理的效率和质量。 在使用智慧校园平台的过程中&#xff0c;一些功能特点是必要的。那么&#xff0c;究竟什么是智慧校园平台&#xff1…

[图解]SysML和EA建模住宅安全系统-02

1 00:00:00,900 --> 00:00:02,690 这个就是一个块定义图了 2 00:00:03,790 --> 00:00:04,780 简称BDD 3 00:00:05,610 --> 00:00:08,070 实际上就是UML里面的类图 4 00:00:08,080 --> 00:00:09,950 和组件图的一个结合体 5 00:00:13,150 --> 00:00:14,690 我…

C++-9

C 1.已知C风格的字符串&#xff0c;完成对字符串通过下标访问时的异常处理机制(越界访问) 2.写一个程序&#xff0c;程序包含两个类&#xff0c;类中实现一个成员函数&#xff0c;MyGetChar(), 类A中每调用一 次&#xff0c;按顺序得到一个数字字符&#xff0c;比如第-次调用得…

哪个品牌的开放式耳机好用?五款畅销拔尖爆款力荐!

在耳机市场上&#xff0c;开放式耳机正逐渐成为一股新的风潮。它们以其独特的设计和卓越的音质吸引着越来越多的耳机爱好者。相较于传统的蓝牙耳机&#xff0c;开放式耳机不仅在音质上更胜一筹&#xff0c;更在佩戴舒适度上取得了显著突破。传统的蓝牙耳机&#xff0c;由于多采…

LeetCode746:使用最小花费爬楼梯

题目描述 给你一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 代码 …

C/C++ BM33 二叉树的镜像

文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 总结 前言 镜像说的好听&#xff0c;无非就是换下节点。 题目 操作给定的二叉树&#xff0c;将其变换为源二叉树的镜像。 数据范围&#xff1a;二叉树的节点数 0 ≤ n ≤ 1000 0≤n≤1000 0≤n≤1000&#xff0c; 二叉树每…

AIGC实战——多模态模型DALL.E 2

AIGC实战——多模态模型DALL.E 2 0. 前言1. 模型架构2. 文本编码器3. CLIP4. 先验模型4.1 自回归先验模型4.2 扩散先验模型 5. 解码器5.1 GLIDE5.2 上采样器 6. DALL.E 2 应用6.1 图像变体6.2 先验模型的重要性6.3 DALL.E 2 限制 小结系列链接 0. 前言 DALL.E 2 是 OpenAI 设计…