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 相关文章推荐
通过jQuery源码学习javascript(一)
Dec 27 Javascript
javascript匿名函数实例分析
Nov 18 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
Mar 25 Javascript
利用angular.copy取消变量的双向绑定与解析
Nov 25 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
Jan 13 Javascript
Bootstrap导航中表单简单实现代码
Mar 06 Javascript
Webpack实现按需打包Lodash的几种方法详解
May 08 Javascript
vue-router单页面路由
Jun 17 Javascript
Express + Session 实现登录验证功能
Sep 08 Javascript
利用npm 安装删除模块的方法
May 15 Javascript
详解Webpack多环境代码打包的方法
Aug 03 Javascript
jstree中的checkbox默认选中和隐藏示例代码
Dec 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
模仿OSO的论坛(四)
2006/10/09 PHP
PHP小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
javascript 写类方式之四
2009/07/05 Javascript
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
js multiple全选与取消全选实现代码
2012/12/04 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
jQuery 选择符详细介绍及整理
2016/12/02 Javascript
JavaScript学习笔记--常用的互动方法
2016/12/07 Javascript
smartupload实现文件上传时获取表单数据(推荐)
2016/12/12 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
2017/03/07 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
2018/05/04 Javascript
ES6小技巧之代替lodash
2019/06/07 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
JavaScript实现前端倒计时效果
2021/02/09 Javascript
python3设计模式之简单工厂模式
2017/10/17 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
优秀党员获奖感言
2014/02/18 职场文书
体育课外活动总结
2014/07/08 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
2015年复活节活动总结
2015/02/27 职场文书
海洋天堂观后感
2015/06/05 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
党员廉政准则心得体会
2016/01/20 职场文书