Vue2组件tree实现无限级树形菜单


Posted in Javascript onMarch 29, 2017

一直打算偷懒使用个现成的树组件,但是在github上找了一大圈没有找到真正满足应用开发的树组件,所以没办法只能自己写了一个,开源出来希望可以帮助到需要的人,同时如果大家觉得好用,我可以顺带骗骗★(希望喜欢的朋友对我体力的肯定可以点下★ ),由于我也算刚接触vue,所以难免有所考虑不周的地方,希望大家在issue里面指正。组件重点是父子组件数据的共享和状态保持,我是利用了下vuex的思路,采用一个控制仓库完成。

github 地址 vue-tree

How to run demo

npm install
npm run dev

效果图

Vue2组件tree实现无限级树形菜单

示例

<template>
 <div style="width:300px;">
 <tree ref ='tree' :treeData="treeData" :options="options" @node-click='handleNode'/>
 </div>
</template>
<script>
import Tree from '../components/tree/tree.vue'
export default {
 name: 'test',
 data () {
 return {
  options: {
  showCheckbox: true,
  search: {
   useInitial: true,
   useEnglish: false,
   customFilter: null
  }
  },
  treeData: [
  {
   id: 1,
   label: '一级节点',
   open: true,
   checked: false,
   parentId: null,
   visible: true,
   searched: false,
   children: [
   {
    id: 2,
    label: '二级节点-1',
    checked: false,
    parentId: 1,
    searched: false,
    visible: true
   },
   {
    label: '二级节点-2',
    open: true,
    checked: false,
    id: 3,
    parentId: 1,
    visible: true,
    searched: false,
    children: [
    {
     id: 4,
     parentId: 3,
     label: '三级节点-1',
     visible: true,
     searched: false,
     checked: false
    },
    {
     id: 5,
     label: '三级节点-2',
     parentId: 3,
     searched: false,
     visible: true,
     checked: false
    }
    ]
   },
   {
    label: '二级节点-3',
    open: true,
    checked: false,
    id: 6,
    parentId: 1,
    visible: true,
    searched: false,
    children: [
    {
     id: 7,
     parentId: 6,
     label: '三级节点-4',
     checked: false,
     searched: false,
     visible: true
    },
    {
     id: 8,
     label: '三级节点-5',
     parentId: 6,
     checked: false,
     searched: false,
     visible: true
    }
    ]
   }
   ]
  }
  ]
 }
 },
 components: {Tree}
}
</script>

属性

 Vue2组件tree实现无限级树形菜单

options: {
  showCheckbox: true, //是否支持多选
  search: {
   useInitial: true, //是否支持首字母搜索
   useEnglish: false, //是否是英文搜索
   customFilter: null // 自定义节点过滤函数
  }

 /* 节点元素 */
 {
  id: 1, //节点标志
  label: '一级节点', //节点名称
  open: true, // 是否打开节点
  checked: false, //是否被选中
  parentId: null, //父级节点Id
  visible: true, //是否可见
  searched: false, //是否是搜索值
  children: [] //子节点
 }

方法

Vue2组件tree实现无限级树形菜单

事件

Vue2组件tree实现无限级树形菜单

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
学习YUI.Ext 第二天
Mar 10 Javascript
一个cssQuery对象 javascript脚本实现代码
Jul 21 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
Feb 27 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
Jun 05 Javascript
jquery实现多条件筛选特效代码分享
Aug 28 Javascript
Angularjs中的页面访问权限怎么设置
Nov 11 Javascript
前端面试知识点锦集(JavaScript篇)
Dec 28 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
Sep 23 Javascript
原生JS获取元素的位置与尺寸实现方法
Oct 18 Javascript
ES6扩展运算符用法实例分析
Oct 31 Javascript
Vue配合iView实现省市二级联动的示例代码
Jul 27 Javascript
详解Node.js中path模块的resolve()和join()方法的区别
Oct 29 Javascript
整理关于Bootstrap列表组的慕课笔记
Mar 29 #Javascript
Vue.js 插件开发详解
Mar 29 #Javascript
整理关于Bootstrap过渡动画的慕课笔记
Mar 29 #Javascript
整理关于Bootstrap模态弹出框的慕课笔记
Mar 29 #Javascript
Angular2平滑升级到Angular4的步骤详解
Mar 29 #Javascript
jQuery插件之validation插件
Mar 29 #jQuery
Vue.js实现移动端短信验证码功能
Mar 29 #Javascript
You might like
分页详解 从此分页无忧(PHP+mysql)
2007/11/23 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
一个简单安全的PHP验证码类、PHP验证码
2016/09/24 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
上传图片预览JS脚本 Input file图片预览的实现示例
2014/10/23 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
Three.js快速入门教程
2016/09/09 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
React中的refs的使用教程
2018/02/13 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
2020/03/04 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
[01:20:06]TNC vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:04:32]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第二场 2月23日
2021/03/11 DOTA
python 中random模块的常用方法总结
2017/07/08 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
python中封包建立过程实例
2021/02/18 Python
python 指定源路径来解决import问题的操作
2021/03/04 Python
html5移动端价格输入键盘的实现
2019/09/16 HTML / CSS
办公室主任竞聘演讲稿
2014/05/15 职场文书
文秘班元旦晚会活动策划方案
2014/08/28 职场文书
公司给客户的感谢信
2015/01/23 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
Python 实现定积分与二重定积分的操作
2021/05/26 Python
Java 超详细讲解数据结构中的堆的应用
2022/04/02 Java/Android