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 相关文章推荐
JS BASE64编码 window.atob(), window.btoa()
Mar 09 Javascript
从父页面读取和操作iframe中内容方法
Jul 25 Javascript
经典海量jQuery插件 大家可以收藏一下
Feb 07 Javascript
AngularJS教程 ng-style 指令简单示例
Aug 03 Javascript
js css自定义分页效果
Feb 24 Javascript
Vue组件库发布到npm详解
Feb 17 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
May 06 Javascript
webpack4之SplitChunksPlugin使用指南
Jun 12 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
Sep 18 Javascript
JS数组求和的常用方法实例小结
Jan 07 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
May 10 Javascript
JavaScript常用进制转换及位运算实例解析
Oct 14 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类(查找/修改)xml文档
2013/03/26 PHP
深入php中var_dump方法的使用详解
2013/06/24 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
2019/10/17 PHP
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
原生JS和jQuery版实现文件上传功能
2016/04/18 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
微信小程序用户拒绝授权的处理方法详解
2019/09/20 Javascript
Vue组件通信$attrs、$listeners实现原理解析
2020/09/03 Javascript
在Python中使用成员运算符的示例
2015/05/13 Python
python try 异常处理(史上最全)
2019/03/07 Python
python web框架 django wsgi原理解析
2019/08/20 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
英国假睫毛购买网站:FalseEyelashes.co.uk
2018/05/23 全球购物
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
Linux的文件类型
2016/07/05 面试题
abstract class和interface有什么区别
2013/08/04 面试题
公务员培训自我鉴定
2013/09/19 职场文书
银行会计业务的个人自我评价
2013/11/02 职场文书
葡萄牙语专业个人求职信
2013/12/10 职场文书
汽车销售员如何做职业生涯规划
2014/02/16 职场文书
土建工程师岗位职责
2014/06/10 职场文书
倡议书格式
2014/08/30 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
python面向对象版学生信息管理系统
2021/06/24 Python