Vue2组件tree实现无限级树形菜单
发布时间 - 2026-01-11 00:25:05 点击率:次一直打算偷懒使用个现成的树组件,但是在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: [] //子节点
}
方法
事件
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# vue
# tree
# 树形菜单
# vue Element左侧无限级菜单实现
# Vue.js组件tree实现无限级树形菜单
# vue实现多级菜单效果
# Vue+Element ui实现树形控件右键菜单
# vue实现右键弹出菜单
# vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
# Vue.js 递归组件实现树形菜单(实例分享)
# 基于vue.js实现侧边菜单栏
# Vue实现导航栏菜单
# Vue3.0实现无限级菜单
# 的人
# 我是
# 对我
# 没办法
# 英文
# 找了
# 写了
# 自定义
# 希望大家
# 也算
# 好用
# 没有找到
# 可以帮助
# 开源
# 大家多多
# 多选
# 可以点
# 首字母
# 大圈
# 但是在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Bootstrap整体框架之CSS12栅格系统
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
C#如何调用原生C++ COM对象详解
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
如何快速搭建高效简练网站?
Linux系统命令中screen命令详解
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
如何在云服务器上快速搭建个人网站?
Swift中switch语句区间和元组模式匹配
Android滚轮选择时间控件使用详解
如何在 React 中条件性地遍历数组并渲染元素
如何快速搭建高效香港服务器网站?
QQ浏览器网页版登录入口 个人中心在线进入
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
如何在IIS7中新建站点?详细步骤解析
手机软键盘弹出时影响布局的解决方法
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
高端建站三要素:定制模板、企业官网与响应式设计优化
简单实现Android文件上传
如何注册花生壳免费域名并搭建个人网站?
linux写shell需要注意的问题(必看)
php json中文编码为null的解决办法
再谈Python中的字符串与字符编码(推荐)
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
Android Socket接口实现即时通讯实例代码
制作电商网页,电商供应链怎么做?
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
常州企业网站制作公司,全国继续教育网怎么登录?
如何在Windows虚拟主机上快速搭建网站?
Laravel集合Collection怎么用_Laravel集合常用函数详解
如何用好域名打造高点击率的自主建站?
如何在云主机快速搭建网站站点?
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
Laravel中的withCount方法怎么高效统计关联模型数量
js代码实现下拉菜单【推荐】
制作公司内部网站有哪些,内网如何建网站?
浅析上传头像示例及其注意事项
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel如何实现事件和监听器?(Event & Listener实战)
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
如何快速重置建站主机并恢复默认配置?
制作企业网站建设方案,怎样建设一个公司网站?
Linux网络带宽限制_tc配置实践解析【教程】
使用spring连接及操作mongodb3.0实例
android nfc常用标签读取总结
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
Laravel观察者模式如何使用_Laravel Model Observer配置

