原创《开源一个用 vue 写的树层级组件 vue-ztree》

最近由于后台管理项目的需要,页面需要制作一个无限树的需求,我第一想到了插件 ztree,不过我觉得它太大了,还是自己主动丰衣足食吧。

ztree 的 demo 地址:http://www.treejs.cn/v3/demo.php

我拿来了 ztree的样式库,自己动手写的算法,整了一个小而美的 vue-ztree  组件,它基本上能满足我的业务需求,我也希望造福开源社区,打算把它开源了。

概要 :

1: vue-ztree 的效果图

2: vue-ztree 的调用方式

3: vue-ztree 的技术点

4: vue-ztree 的开源地址

1: vue-ztree 的效果图

  vue-ztree 的效果,如下图所示:

图一:     图二: 

2: vue-ztree 的调用方式:

组件写法,如下图:

 

vue-ztree 的参数讲解:

参数 类型 默认值 描述
list Array - 树的结构数据源
func Function - 点击节点回调的方法
is-open Bealoon true 是否展开树

3. vue-ztree 的技术点

vue-ztree的技术点,主要是大量用到了递归算法,以及一些巧妙的编码技巧。

推荐了解vue 组件树递归知识,地址https://github.com/vuejs/vue/tree/dev/examples/tree

4. vue-ztree 的 开源地址

开源地址: https://github.com/lisiyizu/vue-ztree ,欢迎大家fork,提意见。

安装运行步骤:

1: npm install

2: npm run dev

看到运行效果如图:

时间: 2024-10-04 12:17:51

原创《开源一个用 vue 写的树层级组件 vue-ztree》的相关文章

基于bootstrap-treeview做的一个漂亮的无限分类树层级联动菜单

2017年12月11日09:59:15 因为工作需要把原来的bootstrap-treeview做了一些小改动,方便后台开发人员使用 最终效果,看起来还行,但是其实不是特别友好对用户来说,但是对开发者人员来说足够了 "after_html": "<span class=\"button_z\"><button type=\"button\" class=\"btn btn btn-info btn-xs\&q

开源一个C#写的Android和IOS都能跑的 打击感强的RPG玩玩。

不废话直接上图 关于下载和打开 没错,我强调过很多次的,Unity3D开发的.  如果你还不懂Unity3D 的基本开发套路,如何打开Unity如何安装Unity这些问题.我建议你先不要索要源代码. 下载后,直接打开这个工程......  然后打开根目录下载ManTuLanSi这个Scence  ,如果你是用PC,就可以按  ASDW开前  来控制前后左右.痛快的打一下怪吧. 源代码齐全吗?? 因为美术资源是别人的,所以实际源代码会有部分美术资源替换了.不过,代码还是这份代码.完全没变. 能商用

开源一个自己写的APP:装哔指南-记车标

想想我做安卓开发到现在也快两年了,所在的公司基本都是在做企业内部应用,自己每次做的一些小应用,都是做到一半或者快完成的时候放着积灰了.感觉很没有成就感啊!这两天心血来潮写了一个小应用:装哔指南-记车标 ,(花了两天,其中一天在搜集车标数据弄数据库 0.0 )顺便发出来给一些新手们学习学习(我也新手=.=   大神请绕道.) 下面简单介绍一下应用里面用到的知识点: 1. android SQLite 的简单使用. 2. listview和gridview 配合 BaseAdapter的使用方法.

开源一个Mac漂亮的小工具 PPRows for Mac, 在Mac上优雅的计算你写了多少行代码

开源一个Mac漂亮的小工具 PPRows for Mac, 在Mac上优雅的计算你写了多少行代码. 开源地址: https://github.com/jkpang/PPRows

开源一个常用的小软件的源码——系统数据库服务管理软件

郝喜路  2014年7月27日22:28:34 GitHub地址:https://github.com/haoxilu/ServiceManager    希望编程爱好者 更改添加...   开发环境:Visual Studio 2012   .Net Framework 4.0 大家在软件开发过程中,是离不开 数据库的,不管你用什么数据库,都会在系统服务上注册一个,当你安装了太多的数据库,是否有感到极大的拖掉了开机时间,影响了计算机的性能.(仅限windows系统).这时有的朋友可能会想到手动

分享并开源一个简单粗暴的redmine测试报告系统

背景 软件测试的最后有一道比较繁琐的工作,就是编写测试报告.手写测试报告在数据统计和分析上面要耗费比较大的事件和精力.之前工作室使用mantis管理bug缺陷.公司有内部有个系统,可以直接从mantis上面获取数据并进行统计,生成一份测试报告.后来换了一个工作室,bug缺陷管理平台也从原来的mantis 换成了redmine (http://www.redmine.org/ ). 然后走上了一条手写测试报告的不归路(测试人员前期还是推荐手写测试报告的).搞游戏的都知道,平时加班加点压力就够大的.

(原创)c#学习笔记02--编写c#程序03--Windows Forms应用程序

2.3  Windows Forms应用程序 本解讲解如何创建一个windows forms应用程序,参考:(原创)c#学习笔记02--编写c#程序01--开发环境,修改为选择:Windows 窗体应用程序.如下图: 单击“确定”(OK)按钮,创建项目后,应该会看到一个空白的Windows窗体.把鼠标指针移到屏幕左边的“工具箱”(Toolbox)栏上,然后移到“所有 Windows 窗体”(All Windows Forms)选项卡上的Button选项,在该选项上双击,就会在应用程序的主窗体(F

用vue写购物车小案例使用到的知识点总结

一 获取后台数据用到的方式(在引入vue.js后引入vue-resource.js) 1.1使用get请求 (this.$http.get('请求的url', [可选参数对象,使用{}传参]).then(成功回调函数, 失败回调函数)) 1.2使用post请求 (this.$http.post('请求的url',[可选参数请求报文体对象body,使用{}传参], [可选参数对象,使用{}传参]).then(成功回调函数, 失败回调函数)) 注意点:$http.post()方法中的第二个参数固定写

几个你所不知道的技巧助你写出更优雅的vue.js代码

1. watch 与 computed 的巧妙结合 如上图,一个简单的列表页面. 你可能会这么做: created(){ this.fetchData() }, watch: { keyword(){ this.fetchData() } } 如果参数比较多,比如上图 关键字筛选, 区域筛选, 设备ID筛选, 分页数, 每页几条数据, 可能会是这样: data(){ return { keyword:'', region:'', deviceId:'', page:1 } }, methods: