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 相关文章推荐
json跟xml的对比分析
Jun 10 Javascript
jQuery textarea的长度进行验证
May 06 Javascript
表单JS弹出填写提示效果代码
Apr 16 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
Jul 30 Javascript
javascript三元运算符用法实例
Apr 16 Javascript
js实现分割上传大文件
Mar 09 Javascript
Vue.js样式动态绑定实现小结
Jan 24 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
Mar 26 Javascript
一篇文章,教你学会Vue CLI 插件开发
Apr 17 Javascript
vue swipe自定义组件实现轮播效果
Jul 03 Javascript
p5.js临摹动态图形的方法
Oct 23 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
Aug 31 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
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
2014/07/22 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
Symfony控制层深入详解
2016/03/17 PHP
Laravel中使用Queue的最基本操作教程
2017/12/27 PHP
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
Bootstrap每天必学之下拉菜单
2015/11/25 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
vue data恢复初始化数据的实现方法
2019/10/31 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
利用Python抓取行政区划码的方法
2016/11/28 Python
django轻松使用富文本编辑器CKEditor的方法
2017/03/30 Python
Python实现读取json文件到excel表
2017/11/18 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
Python机器学习之SVM支持向量机
2017/12/27 Python
python3使用scrapy生成csv文件代码示例
2017/12/28 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
基于python实现计算两组数据P值
2020/07/10 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
浙江文明网签名寄语
2014/01/18 职场文书
食堂采购员岗位职责
2014/03/17 职场文书
理发店策划方案
2014/06/05 职场文书
商业计算机应用专业自荐书
2014/06/09 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
毕业生入职感言
2015/07/31 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书
nginx网站服务如何配置防盗链(推荐)
2021/03/31 Servers