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 相关文章推荐
javascript面向对象编程代码
Dec 19 Javascript
PHP实现的各种中文编码转换类分享
Jan 23 Javascript
jQuery实现返回顶部功能
Feb 23 Javascript
动态的9*9乘法表效果的实现代码
May 16 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
Oct 30 Javascript
JS生成和下载二维码的代码
Dec 07 Javascript
微信小程序实现皮肤功能(夜间模式)
Jun 18 Javascript
vue axios用法教程详解
Jul 23 Javascript
JavaScript实现焦点进入文本框内关闭输入法的核心代码
Sep 20 Javascript
angularjs实现柱状图动态加载的示例
Dec 11 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
Mar 28 Javascript
vue项目出现页面空白的解决方案
Oct 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
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
WebQQ最新登陆协议的用法
2014/12/22 PHP
CodeIgniter配置之autoload.php自动加载用法分析
2016/01/20 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
JS实现弹性漂浮效果的广告代码
2015/09/02 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
vue组件父子间通信详解(三)
2017/11/07 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
2021/02/25 Vue.js
在Django同1个页面中的多表单处理详解
2017/01/25 Python
使用Python发现隐藏的wifi
2020/03/04 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
什么是Web Service?
2012/07/25 面试题
大一自我鉴定范文
2013/10/04 职场文书
房地产财务管理制度
2014/02/02 职场文书
简历中的自我评价范文
2014/02/05 职场文书
结婚保证书范文
2014/04/29 职场文书
财务负责人任命书
2014/06/06 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android