vue+element封装的下拉tree---input+tree

项目里好多页面要用到下拉树的菜单:
在这里插入图片描述
选择后如下:
在这里插入图片描述
决定写一个组件复用,这里就不写如何复用传参那些,就当一个哦普通的页面里的来写:

//  html

<el-input
    placeholder="请选择父级"
    v-model="regionLongcode"
    :suffix-icon="showTree?'el-icon-arrow-up':'el-icon-arrow-down'"
    @click.native="deptogglePanel($event)"
    size="medium"
    readonly="readonly"
></el-input>
<div v-if="showTree" class="treeDiv" ref="suoShuMenTree">
    <el-tree
    :default-expanded-keys="[0, 1]"   // 默认展开节点id
    :data="treeData"
    :props="defaultProps"
    accordion
    node-key="id"
    
    @node-click="handleRegionNodeClick"
    ></el-tree>
</div>




//  js

defaultProps: {           
  children: 'children',
  label: 'text'
},
showTree: false,
treeData: [               
],
regionLongcode: '',


//  事件
deptogglePanel (event) {
   event || (event = window.event)
    event.stopPropagation
        ? event.stopPropagation()
        : (event.cancelBubble = true)
    this.showTree ? this.dephide() : this.depshow()
},
depshow () {
    this.showTree = true
    document.addEventListener('click', this.dephidePanel, false)
},
dephide () {
    this.showTree = false
    document.addEventListener('click', this.dephidePanel, false)
},
dephidePanel (e) {
    if (
        this.$refs.suoShuMenTree &&
        !this.$refs.suoShuMenTree.contains(e.target)
    ) {
        this.dephide()
    }
},
//  点击tree节点
handleRegionNodeClick (data) {
    this.regionLongcode = data.text //所属区域名字
    this.showTree = false
    this.ids= data.id
},




//  css
// 这个下拉tree我是写在表单里面,所以相对于el-form-item定位的,可自行修改
.treeDiv{
    position:absolute;
     top:40px;
     left:-1px;
     z-index:1000;
     border: 1px solid #ccc;
     width: 100%;
     border-radius: 6px;
     overflow: hidden;
 }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现Spring Boot Vue Element UI Mybatis-Plus的文件分享,可以按照以下步骤进行: 1. 首先,需要搭建一个基于Spring Boot的后端应用程序。使用Mybatis-Plus来操作数据库,设计合适的实体类和数据库表,用于存储文件的相关信息,例如文件名、路径、大小等。 2. 在后端应用程序中创建一个文件上传的接口,用于接收前端传递的文件。可以使用Spring Boot内置的MultipartFile类来处理文件上传,将文件保存到指定的目录中,并将文件相关信息保存到数据库中。 3. 创建一个文件下载的接口,用于访问和下载已上传的文件。通过接口可以获取文件的相关信息,包括文件的路径和文件名。使用Java的File类或者相关的工具类来读取文件,并将文件以流的形式返回给前端。 4. 在前端应用程序中使用VueElement UI来实现文件分享页面。可以设计一个文件列表的组件,展示已上传的文件信息,例如文件名、大小、上传时间等。使用Element UI的Table组件可以方便地展示数据。 5. 在文件列表组件中,为每个文件增加下载功能的按钮或链接。按钮或链接的点击事件调用后端提供的文件下载接口,将文件下载到用户本地。 6. 可以考虑增加文件的搜索和排序功能,方便用户查找和管理文件。可以使用Element UI的Input组件和Table组件的排序功能来实现。 7. 为了提高用户体验,可以加入文件预览的功能。可以使用第三方插件,如Viewer.js,来实现文件的在线预览。 总结来说,实现Spring Boot Vue Element UI Mybatis-Plus的文件分享需要搭建一个后端应用程序来处理文件的上传和下载,使用数据库存储文件相关信息;在前端应用程序中使用VueElement UI来展示和管理文件,实现文件的搜索、排序和预览功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值