0

0

如何应用vue文件树组件

php中世界最好的语言

php中世界最好的语言

发布时间:2018-06-12 14:31:39

|

1629人浏览过

|

来源于php中文网

原创

这次给大家带来如何应用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' }
       ]
      }
      ]
     }
     ]
    }

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    如何使用angular4共享组件通信

    使用postman+json+springmvc做出批量添加

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    json数据格式
    json数据格式

    JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

    419

    2023.08.07

    json是什么
    json是什么

    JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

    535

    2023.08.23

    jquery怎么操作json
    jquery怎么操作json

    操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

    311

    2023.10.13

    go语言处理json数据方法
    go语言处理json数据方法

    本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

    77

    2025.09.10

    软件测试常用工具
    软件测试常用工具

    软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。

    439

    2023.10.13

    java入门学习合集
    java入门学习合集

    本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

    1

    2026.01.29

    java配置环境变量教程合集
    java配置环境变量教程合集

    本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

    2

    2026.01.29

    java成品学习网站推荐大全
    java成品学习网站推荐大全

    本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

    0

    2026.01.29

    Java字符串处理使用教程合集
    Java字符串处理使用教程合集

    本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

    0

    2026.01.29

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    PHP基础入门课程
    PHP基础入门课程

    共33课时 | 2万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号