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 相关文章推荐
定义select的边框颜色
Apr 28 Javascript
IE和FireFox(FF)中js和css的不同
Apr 13 Javascript
HTML中的setCapture和releaseCapture使用介绍
Mar 21 Javascript
js动态创建标签示例代码
Jun 09 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
Dec 04 Javascript
js实现鼠标悬浮给图片加边框的方法
Jan 30 Javascript
Lab.js初次使用笔记
Feb 28 Javascript
JS简单测试循环运行时间的方法
Sep 04 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
Sep 05 Javascript
express启用https使用小记
May 21 Javascript
Node.js 路由的实现方法
Jun 05 Javascript
JavaScript实现联动菜单特效
Jan 07 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 正则学习实例
2008/07/30 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
一篇有意思的技术文章php介绍篇
2010/10/26 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
javascript 函数参数限制说明
2010/11/19 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
python3安装speech语音模块的方法
2018/12/24 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
微信小程序canvas实现水平、垂直居中效果
2020/02/05 HTML / CSS
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
Java servlet面试题
2012/03/04 面试题
师范应届生语文教师求职信
2013/10/29 职场文书
承办会议欢迎词
2014/01/17 职场文书
文员的职业生涯规划发展方向
2014/02/08 职场文书
创建市级文明单位实施方案
2014/03/01 职场文书
环保建议书500字
2014/05/14 职场文书
新手上路标语
2014/06/20 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript