vue.js树形组件之删除双击增加分支实例代码
html代码:
<script type="text/x-template" id="item-template"> <li> <div :class="{bold: isFolder}" @click="toggle"> {{model.name}} <span v-if="isFolder">[{{open ? '-' : '+'}}]</span> </div> <!--v-show控制当前元素的display属性,根据v-show里面的值来判断,true显示,false不显示--> <ul v-show="open" v-if="isFolder"> <!--model用于双向绑定数据--> <item class="item" v-for="model in model.children" :model="model"> </item> </ul> </li> </script> <ul id="demo"> <item class="item" :model="treeData"> </item> </ul>
这里使用x-template全局属性,页面加载不显示,但是可供js使用
js代码:
<script> //加载树形结构初始数据,可用ajax获取 var data = { name: 'My Tree', children: [ { name: '一级' }, { name: '一级' }, { name: '一级有子菜单', children: [{ name: '二级有子菜单', children: [ { name: '三级' }, { name: '三级' } ] }, { name: '二级' }, { name: '二级' } ] } ] } Vue.component('item', {//获取全局组件(可用于注册组件) template: '#item-template', props: { model: Object//定义model数据格式 }, data: function() { return { open: false//vue对样式改变操作,true显示 false不显示 } }, computed: {//读取写入函数,不写get,set则为只读 isFolder: function() { return this.model.children } }, methods: { toggle: function() { if(this.isFolder) { this.open = !this.open//打开树形结构 } } } }) <li><a href="http://www.wfqcp.com/" rel="external nofollow" >潍坊长途汽车站</a></li> var demo = new Vue({//创建一个vue实例,绑定树形数据 el: '#demo', data: { treeData: data } }) </script>
以上所述是小编给大家介绍的vue.js树形组件之删除双击增加分支实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
vuejs使用递归组件实现树形目录的方法
上篇文章我提到了通讯录的开发,里面的目录使用了vue的递归组件实现的树形目录,这篇文章就来讲讲如何实现树形目录吧! 首先实现效果如下,觉得菜单还是比较nice的是吧: 这边数据调用的是数据库的数据的,需要数据库进行数据的构造,这里涉及到java的构造多叉树的知识,后续我会另外写一篇文章详细讲解,这里讲下前端. 数据可以先构造json使用,这里用到的格式大概如下,以childList来嵌套子菜单: { id:YH, name:银行, pid:0, childList:[{ id:YH******,
-
Vue2递归组件实现树形菜单
今天看了老长时间递归组件,官方给的教程太简便了,根本看不出到底怎么用.于是自己查网摸索了一下,这儿只把核心思想写出来. 效果如下图,点击后打开二级菜单,再点击后打开三级. //js //引子 //思想:当v-if='false'时,循环时进行的.所以一开始就设置为false. ggg:{ name:'gs', template:` <div> <p @click.stop='show=!show'>我是p标签</p> //这儿show必须要初始值为false,不然就是堆
-
基于 Vue 的树形选择组件的示例代码
本文介绍了基于 Vue 的树形选择组件.分享给大家,具体如下: 系统要求:Vue 2 基本特性 完美的多级联动效果 支持无限多的分级 有 全选.半选.不选 三种状态 截图展示 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="icon" href="https://v1-c
-
Vue2组件tree实现无限级树形菜单
一直打算偷懒使用个现成的树组件,但是在github上找了一大圈没有找到真正满足应用开发的树组件,所以没办法只能自己写了一个,开源出来希望可以帮助到需要的人,同时如果大家觉得好用,我可以顺带骗骗★(希望喜欢的朋友对我体力的肯定可以点下★ ),由于我也算刚接触vue,所以难免有所考虑不周的地方,希望大家在issue里面指正.组件重点是父子组件数据的共享和状态保持,我是利用了下vuex的思路,采用一个控制仓库完成. github 地址 vue-tree How to run demo npm inst
-
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
数据结构为数组中包含对象--树形结构,用Vue组件的写法实现以下的效果: 树形列表,缩进显示层级,第5级数据加底色,数据样式显色,点击展开折叠数据.本文为用Vue实现方式,另有一篇为用knockout.js的实现方法. html代码 <div id="table-component-div"> <table-component v-for="item in data1" v-bind:list="item"></ta
-
Vue组件tree实现树形菜单
vue 编写的树形菜单,小巧实用,支持vue1.0,vue2.0 v1.0 功能: 1.支持多级树目录 2.支持高亮点击的节点 3.支持展开点击节点 4.支持点击收缩节点时收缩所有子目录 5.支持自定义回调函数,点击节点时回调,参数为节点信息 用法:<launch-tree :list='list' :options='options'></launch-tree> list = [ { name: '一级目录', // 目录名字 isOpen: true, // 是否初始展开目录
-
Vue.js 递归组件实现树形菜单(实例分享)
最近看了 Vue.js 的递归组件,实现了一个最基本的树形菜单. 项目结构: main.js 作为入口,很简单: import Vue from 'vue' Vue.config.debug = true import main from './components/main.vue' new Vue({ el: '#app', render: h => h(main) }) 它引入了一个组件 main.vue: <template> <div class="tree-m
-
Vue.js组件tree实现无限级树形菜单
分享一段用 <ul>和<li>标签实现tree的代码,可能写的不是很好,如果大家有更好的希望分享下. 代码看这里喽: html代码: <div class="tree"> <nav class='navbar'> <ul class='nav nav-stacked'> <template v-for='item in menus'> <li role='presentation' v-if='!item.c
-
vue.js树形组件之删除双击增加分支实例代码
html代码: <script type="text/x-template" id="item-template"> <li> <div :class="{bold: isFolder}" @click="toggle"> {{model.name}} <span v-if="isFolder">[{{open ? '-' : '+'}}]</span&
-
Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(一)
环境搭建 spring boot的简介 以往我们开发时用到spring总是避免不了繁琐的配置,例如我们要配置一个数据库连接,可能需要以下几步: 1.编写jdbc.properties配置文件: 2.创建spring的配置文件,加入spring配置文件前缀.配置数据库连接信息以及sqlsessionFactory等等: 3.还要在web.xml文件中加入spring的监听. springboot的出现大大简化了项目的搭建过程(spring配置以及maven配置),让我们专注于应用功能的开发,而不是
-
vue.js整合mint-ui里的轮播图实例代码
初始化vue项目 npm install -g vue-cli vue init webpack demo # 中间会让你选npm yarn 等来安装依赖,我选的是yarn,因为它快些 安装mint-ui yarn add mint-ui mint-ui装好了,还要配置一下babel,方法跟着mint-ui的官方文档来配置就可以了 下面是我配置好的 .babelrc 文件,启动的时候会报跟es2015相关的错,装一下 babel-preset-es2015 就好了 { "presets"
-
Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(二)
在上篇文章给大家介绍了Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(一),接下来我们添加分页相关的依赖,时间紧张,直接上代码了,贴上我的pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=
-
Vue.js 点击按钮显示/隐藏内容的实例代码
实例代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>vue点击切换显示隐藏</title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> </head> <body> <d
-
vue.js自定义组件实现v-model双向数据绑定的示例代码
我们都清楚v-model其实就是vue的一个语法糖,用于在表单控件或者组件上创建双向绑定. //表单控件上使用v-model <template> <input type="text" v-model="name" /> <input type="checkbox" v-model="checked"/> <!--上面的input和下面的input实现的效果是一样的--> <
-
vue js秒转天数小时分钟秒的实例代码
具体代码如下所示: SecondToDate: function(msd) { var time =msd if (null != time && "" != time) { if (time > 60 && time < 60 * 60) { time = parseInt(time / 60.0) + "分钟" + parseInt((parseFloat(time / 60.0) - parseInt(time /
-
Vue.js递归组件构建树形菜单
在Vue.js中一个递归组件调用的是其本身,如: Vue.component('recursive-component', { template: `<!--Invoking myself!--> <recursive-component></recursive-component> }); 递归组件常用于在blog上显示注释.嵌套的菜单,或者基本上是父和子相同的类型,尽管具体内容不同.例如: 现在给您演示一下如何有效地使用递归组件,我将通过建立一个可扩展/收缩的树形菜
-
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
在Vue.js中一个递归组件调用的是其本身,如: Vue.component('recursive-component', { template: `<!--Invoking myself!--> <recursive-component></recursive-component>` }); 递归组件常用于在blog上显示注释.嵌套的菜单,或者基本上是父和子相同的类型,尽管具体内容不同.例如: 现在给您演示一下如何有效地使用递归组件,我将通过建立一个可扩展/收缩的树形
-
Vue.js函数式组件的全面了解
目录 前言 React 函数式组件 Vue(2.x) 中的函数式组件
随机推荐
- Asp.Net 重定向必须要知道的一些资料
- js判断选择的时间是否大于今天的代码
- java实现读取txt文件中的内容
- 解决Xcode 8构建版本iTunes Connect获取不到应用程序状态的办法
- 4种java复制文件的方式
- 用Mimer Validator检查SQL查询
- 8个你可能不知道的Docker知识
- hammer.js实现图片手势放大效果
- Python内置函数Type()函数一个有趣的用法
- 实现jsp验证码的简单小例子
- MySQL文本文件导入及批处理模式应用说明
- javascript Slip.js实现整屏滑动的手机网页
- Apache Prefork、Worker和Event三种MPM详解
- ubuntu系统下apache配置虚拟主机及反向代理详解
- Log4j不同模块输出到不同的文件中
- 轻松掌握Java状态模式
- .net MVC 连接数据本地数据库三种方法总结
- python爬取cnvd漏洞库信息的实例
- mysql8.0.11客户端无法登陆的解决方法
- vue elementUI 表单校验功能之数组多层嵌套