Vue2组件tree实现无限级树形菜单
一直打算偷懒使用个现成的树组件,但是在github上找了一大圈没有找到真正满足应用开发的树组件,所以没办法只能自己写了一个,开源出来希望可以帮助到需要的人,同时如果大家觉得好用,我可以顺带骗骗★(希望喜欢的朋友对我体力的肯定可以点下★ ),由于我也算刚接触vue,所以难免有所考虑不周的地方,希望大家在issue里面指正。组件重点是父子组件数据的共享和状态保持,我是利用了下vuex的思路,采用一个控制仓库完成。
github 地址 vue-tree
How to run demo
npm install npm run dev
效果图
示例
<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>
属性
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中,根据list的id进入对应的详情页并修改title方法
今天小编就为大家分享一篇vue2中,根据list的id进入对应的详情页并修改title方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-08-08Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
这篇文章主要介绍了Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例,帮助大家更好的理解和学习vue,感兴趣的朋友可以了解下2020-11-11vue3+高德地图只展示指定市、区行政区域的地图以及遮罩反向镂空其他地区
vue大屏项目开发,客户觉得地图上的文字标注太多了,要求地图上只显示省市等主要城市的标注,这篇文章主要给大家介绍了关于vue3+高德地图只展示指定市、区行政区域的地图以及遮罩反向镂空其他地区的相关资料,需要的朋友可以参考下2024-02-02element ui el-calendar日历组件使用方法总结
这篇文章主要给大家介绍了关于element ui el-calendar日历组件使用方法的相关资料,elementui是一款基于Vue.js的UI框架,其中的日历组件calendar是elementui中非常常用的组件之一,需要的朋友可以参考下2023-07-07详解element-ui中el-select的默认选择项问题
这篇文章主要介绍了详解element-ui中el-select的默认选择项问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-08-08
最新评论