JavaScript

超轻量级php框架startmvc

Vue2组件tree实现无限级树形菜单

更新时间:2020-05-02 16:00:01 作者:startmvc
一直打算偷懒使用个现成的树组件,但是在github上找了一大圈没有找到真正满足应用开发的

一直打算偷懒使用个现成的树组件,但是在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 树形菜单