vue文件树组件有哪些使用方法

这次给大家带来vue文件树组件有哪些使用方法,vue文件树组件使用的注意事项有哪些,下面就是实战案例,一起来看一下。

首先是html模板:

  • //显示文件名 {{model.name}} //若是文件夹的话则显示[+]来控制文件夹的开关闭合 [{{open ? '-' : '+'}}]

      //利用v-for显示子文件列表,通过递归使用item组件来完成文件树 //增加一个+标记,单击可以增加子文件
    • +
  • 登录后复制

    接下来是组件部分的源码:

    Vue.component('item', { template: '#item-template', props: { model: Object //将文件数据通过props传入 }, data: function () { return {  open: false  //open表示文件夹闭合状态 } }, computed: { isFolder: function () {  return this.model.children &&  this.model.children.length } }, //计算对象是否有子节点并且子节点数大于0来判断是否是文件夹 methods: { toggle: function () {  if (this.isFolder) {  this.open = !this.open  } },    //控制文件夹闭合的方法 单击触发改变open changeType: function () {  if (!this.isFolder) {  Vue.set(this.model, 'children', [])  this.addChild()  this.open = true  } }, //双击触发,通过给文件增加子节点来使文件属性变成文件夹 addChild: function () {  this.model.children.push({  name: 'new stuff'  })  //点击文件夹里的+节点触发 为文件夹添加一个新文件 }    }})

    登录后复制

    所以设计思路就是通过判断对象是否有子节点来决定是文件夹还是文件,然后通过递归复用组件来展示文件树的效果。

    最后是传入组件的数据格式:

    var data = { name: 'My Tree', children: [ { name: 'hello' }, { name: 'wat' }, {  name: 'child folder',  children: [  {   name: 'child folder',   children: [   { name: 'hello' },   { name: 'wat' }   ]  },  { name: 'hello' },  { name: 'wat' },  {   name: 'child folder',   children: [   { name: 'hello' },   { name: 'wat' }   ]  }  ] } ]}

    登录后复制

    大家可以根据这个基本的结构继续拓展文件树的功能和展示效果。

    相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

    推荐阅读:

    diff算法如何使用

    JS EventEmitter事件具体使用细节

    以上就是vue文件树组件有哪些使用方法的详细内容,更多请关注【创想鸟】其它相关文章!

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

    发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2765337.html

    (0)
    上一篇 2025年3月8日 10:49:19
    下一篇 2025年3月6日 20:27:59

    AD推荐 黄金广告位招租... 更多推荐

    相关推荐

    • vue全局组件与局部组件使用案例分析详解

      这次给大家带来vue全局组件与局部组件使用案例分析详解,vue全局组件与局部组件使用案例使用的注意事项有哪些,下面就是实战案例,一起来看一下。 main.js入口文件的一些常用配置, 在入口文件上定义的public.vue为全局组件,在这里…

      编程技术 2025年3月8日
      200
    • JS做出文件拖拽功能需要哪些步骤

      这次给大家带来JS做出文件拖拽功能需要哪些步骤,JS做出文件拖拽功能的注意事项有哪些,下面就是实战案例,一起来看一下。 1.效果图: 2.源码 #p1 { width: 350px; height: 70px; padding: 10px;…

      2025年3月8日
      200
    • vue父组件调用子组件有哪些方法

      这次给大家带来vue父组件调用子组件有哪些方法,vue父组件调用子组件的注意事项有哪些,下面就是实战案例,一起来看一下。 情景:   父组件中引入上传附件的子组件:点击组件可以分别上传对应要求的图片,子组件内部循环可创建多个模块.   父组…

      2025年3月8日
      200
    • JS使用时有哪些混淆点

      这次给大家带来JS使用时有哪些混淆点,JS使用混淆点的注意事项有哪些,下面就是实战案例,一起来看一下。 1.前言 这段时间,金三银四,很多人面试,很多人分享面试题。在前段时间,我也临时担任面试官,为了大概了解面试者的水平,我也写了一份题目,…

      2025年3月8日 编程技术
      200
    • JS中new()实现了哪些功能

      这次给大家带来JS中new()实现了哪些功能,使用JS中new()的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 和其他高级语言一样 javascript 中也有 new 运算符,我们知道 new 运算符是用来实例化一个类,从而在…

      2025年3月8日
      200
    • vue中v-if与v-show使用方法与区别

      这次给大家带来vue中v-if与v-show使用方法与区别,vue中v-if与v-show使用的注意事项有哪些,下面就是实战案例,一起来看一下。  v-if与v-show区别: 在切换 v-if 块时,Vue.js 有一个局部编译/卸载过程…

      编程技术 2025年3月8日
      200
    • vue开发按钮组件需要准备哪些东西

      这次给大家带来vue开发按钮组件需要准备哪些东西,vue开发按钮组件的注意事项有哪些,下面就是实战案例,一起来看一下。 最近面试,被问到一个题目,vue做一个按钮组件; 当时只是说了一下思路,回来就附上代码。 解决思路: 通过父子组件通讯(…

      编程技术 2025年3月8日
      200
    • 重复使用Vue构建的分页组件

      这次给大家带来重复使用Vue构建的分页组件,重复使用Vue构建分页组件的注意事项有哪些,下面就是实战案例,一起来看一下。 基本结构 分页组件应该允许用户访问第一个和最后一个页面,向前和向后移动,并直接切换到近距离的页面。 大多数应用程序在用…

      2025年3月8日 编程技术
      200
    • babel-loader文件预处理器有哪些使用方法

      这次给大家带来babel-loader文件预处理器有哪些使用方法,babel-loader文件预处理器使用的注意事项有哪些,下面就是实战案例,一起来看一下。 今天我们来认识的是 babel-loader,用来处理ES6语法,将其编译为浏览器…

      编程技术 2025年3月8日
      200
    • Node.js注册邮箱激活有哪些方法

      这次给大家带来Node.js注册邮箱激活有哪些方法,Node.js实现注册邮箱激活的注意事项有哪些,下面就是实战案例,一起来看一下。 在做自己的node项目极客教程时,需要开发一个注册邮箱激活的功能,这个功能非常常见,当我们注册一个账号时,…

      2025年3月8日
      200

    发表回复

    登录后才能评论