回调形成树形结构tree

  1 //Tree.vue
  2 <template>
  3   <li>
  4  <span @click="toggle">
  5        <i v-if="isFolder" class="el-icon-error" :class="[open ? ‘folder-open‘: ‘folder‘]"></i>
  6        <i v-if="!isFolder" class="icon el-icon-success"></i>
  7        {{ model.menuName }}
  8  </span>
  9       <ul v-show="open" v-if="isFolder">
 10         <tree-menu v-for="item in model.children" :model="item"></tree-menu>
 11       </ul>
 12   </li>
 13 </template>
 14 <script>
 15   export default {
 16     name: ‘treeMenu‘,
 17     props: [‘model‘],
 18     data() {
 19       return {
 20         open: true,
 21       }
 22     },
 23     computed: {
 24       isFolder: function () {
 25         return this.model.children && this.model.children.length//如果有children就isFolder=true,然后就展示循环遍历自己的树tree结构;
 26       }
 27     },
 28     methods: {
 29       toggle: function () {//切换关闭,展开,
 30         if (this.isFolder) {
 31           this.open = !this.open
 32         }
 33       }
 34     }
 35   }
 36 </script>
 37 <style>
 38   ul {
 39     list-style: none;
 40   }
 41   i.icon {
 42     display: inline-block;
 43     width: 15px;
 44     height: 15px;
 45     background-repeat: no-repeat;
 46     vertical-align: middle;
 47   }
 48   .tree-menu li {
 49     line-height: 1.5;
 50   }
 51 </style>
 52
 53 //views/tree/index.vue
 54 <template>
 55   <div class="tree-menu">
 56     <ul v-for="menuItem in theModel">
 57       <tree-menu :model="menuItem"></tree-menu>
 58     </ul>
 59   </div>
 60 </template>
 61 <script>
 62   var myData = [
 63     {
 64       ‘id‘: ‘1‘,
 65       ‘menuName‘: ‘基础管理‘,
 66       ‘menuCode‘: ‘10‘,
 67       ‘children‘: [
 68         {
 69           ‘menuName‘: ‘用户管理‘,
 70           ‘menuCode‘: ‘11‘
 71         },
 72         {
 73           ‘menuName‘: ‘角色管理‘,
 74           ‘menuCode‘: ‘12‘,
 75           ‘children‘: [
 76             {
 77               ‘menuName‘: ‘管理员‘,
 78               ‘menuCode‘: ‘121‘
 79             },
 80             {
 81               ‘menuName‘: ‘CEO‘,
 82               ‘menuCode‘: ‘122‘,
 83               ‘children‘: [
 84                 {
 85                   ‘menuName‘: ‘管理员‘,
 86                   ‘menuCode‘: ‘121‘
 87                 },
 88                 {
 89                   ‘menuName‘: ‘CEO‘,
 90                   ‘menuCode‘: ‘122‘
 91                 },
 92                 {
 93                   ‘menuName‘: ‘CFO‘,
 94                   ‘menuCode‘: ‘123‘
 95                 },
 96                 {
 97                   ‘menuName‘: ‘COO‘,
 98                   ‘menuCode‘: ‘124‘
 99                 },
100                 {
101                   ‘menuName‘: ‘普通人‘,
102                   ‘menuCode‘: ‘124‘
103                 }
104               ]
105             },
106             {
107               ‘menuName‘: ‘CFO‘,
108               ‘menuCode‘: ‘123‘
109             },
110             {
111               ‘menuName‘: ‘COO‘,
112               ‘menuCode‘: ‘124‘
113             },
114             {
115               ‘menuName‘: ‘普通人‘,
116               ‘menuCode‘: ‘124‘
117             }
118           ]
119         },
120         {
121           ‘menuName‘: ‘权限管理‘,
122           ‘menuCode‘: ‘13‘
123         }
124       ]
125     },
126     {
127       ‘id‘: ‘2‘,
128       ‘menuName‘: ‘商品管理‘,
129       ‘menuCode‘: ‘‘
130     },
131     {
132       ‘id‘: ‘3‘,
133       ‘menuName‘: ‘订单管理‘,
134       ‘menuCode‘: ‘30‘,
135       ‘children‘: [
136         {
137           ‘menuName‘: ‘订单列表‘,
138           ‘menuCode‘: ‘31‘
139         },
140         {
141           ‘menuName‘: ‘退货列表‘,
142           ‘menuCode‘: ‘32‘,
143           ‘children‘: []
144         }
145       ]
146     },
147     {
148       ‘id‘: ‘4‘,
149       ‘menuName‘: ‘商家管理‘,
150       ‘menuCode‘: ‘‘,
151       ‘children‘: []
152     }
153   ];
154   import treeMenu from ‘../../components/Tree/Tree‘
155   export default {
156     components: {
157       treeMenu,
158     },
159     data() {
160       return {
161         theModel: myData
162       }
163     }
164   }
165 </script>

原文地址:https://www.cnblogs.com/yangguoe/p/9438060.html

时间: 2024-10-29 10:25:49

回调形成树形结构tree的相关文章

递归生成树形结构

原文地址:https://blog.csdn.net/q13965211/article/details/80772544 节点树树形结构 Tree 结构 import java.util.List; /** * @Author fanwei * @date 2018-6-13 17:04 */ public class TreeNode { private Integer key; private String title; private Integer parentId; private

salesforce 零基础学习(七十)使用jquery tree实现树形结构模式

项目中UI需要用到树形结构显示内容,后来尽管不需要做了,不过还是自己做着玩玩,mark一下,免得以后项目中用到. 实现树形结构在此使用的是jquery的dynatree.js.关于dynatree的使用可以参考:http://wwwendt.de/tech/dynatree/doc/dynatree-doc.html#h4.2 对于树形结构,这里不做太多介绍,树一般需要一个根节点,根节点下面可以有很多子节点或者叶子节点,子结点也可以包含叶子结点或者子节点.我们在设计表结构的时候可以考虑自连接操作

【转】linux tree命令以树形结构显示文件目录结构 ---- 不错

原文网址:http://jingyan.baidu.com/article/acf728fd19c7eff8e510a3eb.html 今天小编来给分享Linux 系统下一个非常有用的命令的使用:tree命令可以以树形结构显示文件目录结构,它非常适合于我们给别人介绍我们的文件目录的组成框架,同时该命令使用适当的参数也可以将命令结果输出到文本文件中. 本经验说明: 小编的这个建议只适合于10.10之前版本的ubuntu系统,后面的11.04,11.10...14.04系统因为采用的默认桌面不同,所

[转帖]linux tree命令--显示目录的树形结构

linux tree命令--显示目录的树形结构 版权声明:iamqilei@qq.com https://blog.csdn.net/u011729865/article/details/53368446 今天早上自己更新同事的 增量补丁 发现文件格式目录不对 就tree 了一下 具体方法 先安装epel-release 包 然后安装 tree包 然后使用 tree -FC -L 5 进行显示 邮件反馈 直接抄一下别人的blog 就不自己写了 以后 这种命令 要活学活用了. tree -C tr

jQuery+zTree加载树形结构菜单

jQuery+zTree加载树形结构菜单 由于项目中需要设计树形菜单功能,经过一番捣腾之后,终于给弄出来了,所以便记下来,也算是学习zTree的一个总结吧. zTree的介绍: 1.zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 2.zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载 3.采用了 延迟加载 技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀 4.兼容 IE.FireFox.Chrome.Opera.S

Delphi中根据分类数据生成树形结构的最优方法

一. 引言:    TreeView控件适合于表示具有多层次关系的数据.它以简洁的界面,表现形式清晰.形象,操作简单而深受用户喜爱.而且用它可以实现ListView.ListBox所无法实现的很多功能,因而受到广大程序员的青睐.    树形结构在Windows环境中被普遍应用,但在数据库开发中面对层次多.结构复杂的数据,如何快速构造树形目录并实现导航呢?    二. 实现关键技术:    在Delphi提供的控件中包含了TreeView控件,但树的具体形成还需要用户编写代码.即它的列表项要在程序

树形结构的数据库的存储

程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门.栏目结构.商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化.理想中树形结构应该具备如下特征:数据存储冗余度小.直观性强:检索遍历过程简单高效:节点增删改查CRUD操作高效. 列举了一个食品族谱的例子进行讲解,通过类别.颜色和品种组织食品,树形结构图如下: 1,对树形结构最直观的分析莫过于节点之间的继承关系上,通过显示地描述某一节点的父节点,从而能够建立二维的关系表,则这种方案的Tree表结构通常设计为:{

【树形结构】zTree

树形结构有多种形式和实现方式,zTree可以说得上是一种比较简洁又美观的且实现起来也相对简单.zTree是一个依靠jQuery实现的多功能"树插件".它最大的优点是配置灵活,只要id与pid的值相同就可形成一个简单的父子结构.再加上免费开源,使用zTree的人越来越多. 一.概述 1.实现思路 假设有两张表:A表.B表,如果B.Id=A.PId,则A与B将可构成树形结构. (Id与PId只是两种表示,数据库中不一定是这两个字段.其实一张表也完全可以形成树形结构,不过这样就有点凌乱了..

Extjs实现树形结构三连选

当项目中需要一个部门人员选择或者省市县地域连选时,就需要树形结构的连选. 再此,写了一个简单的树形结构三连选功能,模拟从后台读取数据和处理数据(欢迎大家交流指正). 代码如下: 循环创建三棵树,其中只有第一棵树有数据,并从后台读取. var root = new Array(); var tree = new Array(); var loader = new Ext.tree.TreeLoader({ dataUrl: 'datatree.aspx' }) for (var i = 0; i