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 】
相关推荐:
Laravel如何处理文件下载请求?(Response示例)
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
如何在VPS电脑上快速搭建网站?
高防服务器:AI智能防御DDoS攻击与数据安全保障
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
Laravel安装步骤详细教程_Laravel环境搭建指南
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
高端智能建站公司优选:品牌定制与SEO优化一站式服务
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
如何为不同团队 ID 动态生成多个非值班状态按钮
如何在云指建站中生成FTP站点?
昵图网官方站入口 昵图网素材图库官网入口
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
如何基于云服务器快速搭建网站及云盘系统?
中山网站制作网页,中山新生登记系统登记流程?
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
Python3.6正式版新特性预览
在centOS 7安装mysql 5.7的详细教程
SQL查询语句优化的实用方法总结
网站制作价目表怎么做,珍爱网婚介费用多少?
如何在宝塔面板创建新站点?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
WordPress 子目录安装中正确处理脚本路径的完整指南
如何在IIS中新建站点并配置端口与IP地址?
音响网站制作视频教程,隆霸音响官方网站?
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
浅谈redis在项目中的应用
Laravel Fortify是什么,和Jetstream有什么关系
音乐网站服务器如何优化API响应速度?
b2c电商网站制作流程,b2c水平综合的电商平台?
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
Swift中循环语句中的转移语句 break 和 continue
高端建站如何打造兼具美学与转化的品牌官网?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
IOS倒计时设置UIButton标题title的抖动问题
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
Firefox Developer Edition开发者版本入口
Bootstrap CSS布局之列表
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
如何快速查询网站的真实建站时间?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
详解vue.js组件化开发实践

