<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue Tree</title>
<script src="http://cdn.jsdelivr.net/vue/1.0.26/vue.min.js"></script>
</head>
<style>
.node {
cursor: pointer;
font-family: monospace;
color: #333;
}
.node div:hover {
background-color: antiquewhite;
}
.node-leaf {
color: #999;
}
ul {
padding-left: 1em;
list-style-type: none;
}
</style>
<body id="body">
<tree :data="treeData"></tree>
</body>
<script type="text/x-template" id="tree-node">
<li :class="['node',node.children?'':'node-leaf']" v-for="node in data">
<div v-if="node.children" @click="node.open = !node.open">[{{node.open?'-':'+'}}] {{node.name}}</div>
<div v-else>[-] {{node.name}}</div>
<ul v-if="node.children" v-show="node.open">
<tree-node :data="node.children"></tree-node>
</ul>
</li>
</script>
<script>
Vue.component('tree', {
template: "<ul><tree-node :data='data'></tree-node></ul>",
props: ['data'],
components: {
'tree-node': {
name: "tree-node",
template: '#tree-node',
props: ['data']
}
}
});
new Vue({
el: '#body',
data: {
treeData: [
{open: false, name: 'hello'},
{open: false, name: 'wat'},
{
open: false,
name: 'child folder',
children: [
{
open: false,
name: 'child folder',
children: [
{open: false, name: 'hello'},
{open: false, name: 'wat'}
]
},
{open: false, name: 'hello'},
{open: false, name: 'wat'},
{
open: false,
name: 'child folder',
children: [
{open: false, name: 'hello'},
{open: false, name: 'wat'}
]
}
]
}
]
}
})
</script>
</html>
转载于:https://my.oschina.net/hellovivi/blog/706446
分享到:
相关推荐
Vue2树形组件的设计目标是简洁高效,它允许开发者以最小的代码量实现丰富的功能。本文将深入探讨如何利用Vue2的特性来创建这样的组件。 首先,我们从基础开始。Vue2的核心理念是组件化,它鼓励将UI拆分成可复用的、...
在使用Vue.js框架结合Element UI库构建网页时,树形控件(Tree)是一个常用的组件,它能很好地展示层级化数据。当我们需要在Element UI的Tree组件中获取被选中节点的父节点ID时,需要通过一些编程技巧来实现。本篇...
通常,它由两部分组成:一个简单的下拉按钮和一个展开后的树形结构。点击下拉按钮后,会显示一个包含多个节点(每个节点可能有子节点)的树状列表。用户可以通过展开和折叠节点来查看和选择所需的选项。 实现下拉树...
3. React、Vue等框架:利用组件化思想构建可交互的树形组件,如React-Treebeard、Vue-Tree等。 4. 数据驱动:通常将树形结构数据存储在JSON格式中,然后渲染到视图上。 操作树形结构的常见功能: 1. 新增节点:在树...
同时,随着前端技术的发展,现在还有许多新的树形控件库,如React的react-treebeard、Vue的vue-tree等,它们提供了更现代的API和更好的性能优化,也值得开发者关注和探索。 在使用这些树控件时,开发者需要注意数据...
在Vue实例的mounted生命周期钩子中,可以通过jQuery对zTree进行初始化操作,将数据与树形控件结合并渲染到页面上。 zTree的初始化通常使用$.fn.zTree.init方法,该方法接受三个参数:第一个参数是挂载树形控件的DOM...
例如,你可以用树形结构来展示不同月份或周的事件,用户可以展开节点查看更具体的日期详情。而菜单控件则可以用来提供额外的功能选项,如设置提醒、复制事件等。 在实际应用中,日历控件的可定制性非常重要。开发者...
2. 事件处理:每个控件都有自己的事件,比如Tree control的NodeClick事件,当用户点击树形结构的某个节点时,程序应响应并更新邮件列表或切换到相应视图。 3. 数据绑定:DataWindow控件需要与数据库进行交互。使用...
在这个场景下,可以将生成el-tree数据结构的过程封装成一个单独的方法,接受节点列表作为输入,返回处理后的树形结构。这样,当需要在其他地方使用相同的数据格式时,可以直接调用此方法,避免重复代码。 以下是一...
在.NET中,有多种方式呈现树形结构,如ASP.NET的TreeView控件、WPF的TreeView控件或者使用前端框架如React、Vue的组件。这些控件通常都支持数据绑定,可以直接绑定上面构建的树结构数据。例如,在ASP.NET中: ```...
首先,jQuery EasyUI 包含了诸如对话框(Dialog)、表单(Form)、数据网格(DataGrid)、菜单(Menu)、下拉菜单(Combobox)、树形控件(Tree)、分页(Pager)等常见的前端组件。这些组件都是经过良好封装的,...
- **树形控件(Tree)**:展示层级结构的数据。 3. **EasyUI使用**:在HTML中,通过添加特定的类和属性,可以轻松地将普通HTML元素转换为EasyUI组件。例如,`<table>`标签加上`class="datagrid"`就能变成一个数据...