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组件化开发实践