<!--
 * @Descripttion: 
 * @version: 
 * @Author: auth
 * @Date: 2021-01-05 09:09:25
 * @LastEditors: auth
 * @LastEditTime: 2021-03-15 09:10:44
-->
### **my-menus 调用方式**
> 此组件基于el-menu折叠收起的效果进行的二次封装，适用收起时的效果
``` Vue
<template>
    <my-menus
      v-if="menuList[defaultProps.subMenuName].length > 0"
      :menuList="menuList[defaultProps.subMenuName]"
      :isCollapse="isCollapse"
      :router="router"
      :defaultActive="defaultActive"
      :isSlot="isSlot"
      :myMenusWidth="myMenusWidth"
      :defaultProps="defaultProps"
      @handleMenuItem="handleMenuItem"
      @handleMenuSub="handleMenuItem"
    ></my-menus>
</template>
<script>
    data() {
        return {
            defaultProps: {
                subMenuName: "subMenu"
            },
            menuList: {
                applicationName: "AUTH",
                icon: "tubiao_quanxian",
                id: 11,
                isSelect: null,
                isShow: 1,
                istrue: 1,
                menuCode: "AUTH",
                subMenu: [
                {
                    applicationName: "AUTH",
                    icon: "icon-tuBiao_caidanguanli",
                    id: 91,
                    isSelect: null,
                    isShow: 1,
                    istrue: 1,
                    menuCode: "AUTH_MENU",
                    subMenu: [],
                    menuIds: null,
                    menuName: "菜检测平台工况监控单",
                    method: null,
                    origin: "",
                    parentId: 11,
                    parentName: null,
                    path: "/menus",
                    pathName: null,
                    sort: 1
                },
                {
                    applicationName: "AUTH",
                    icon: "icon-tuBiao_ziyuanguanli",
                    id: 92,
                    isSelect: null,
                    isShow: 1,
                    istrue: 1,
                    menuCode: "AUTH_RESOURCE",
                    subMenu: [
                    {
                        applicationName: "AUTH",
                        icon: "icon-tuBiao_tongyong",
                        id: 509,
                        isSelect: null,
                        isShow: 1,
                        istrue: 1,
                        menuCode: "AUTH_ROLE_ADD_BTN",
                        subMenu: [
                        {
                            applicationName: "AUTH",
                            icon: "icon-tuBiao_tongyong",
                            id: 809,
                            isSelect: null,
                            isShow: 1,
                            istrue: 1,
                            menuCode: "AUTH_ROLE_ADD_BTN",
                            subMenu: [
                            {
                                applicationName: "AUTH",
                                icon: "icon-tuBiao_tongyong",
                                id: 8094,
                                isSelect: null,
                                isShow: 1,
                                istrue: 1,
                                menuCode: "AUTH_ROLE_ADD_BTN",
                                subMenu: [],
                                menuIds: null,
                                menuName: "新增角色资源44",
                                method: null,
                                origin: null,
                                parentId: 509,
                                parentName: null,
                                path: "/roleresource4",
                                pathName: null,
                                sort: 15
                            }
                            ],
                            menuIds: null,
                            menuName: "新增角色资源",
                            method: null,
                            origin: null,
                            parentId: 509,
                            parentName: null,
                            path: "/roleresource",
                            pathName: null,
                            sort: 15
                        },
                        {
                            applicationName: "AUTH",
                            icon: "icon-tuBiao_tongyong",
                            id: 8091,
                            isSelect: null,
                            isShow: 0,
                            istrue: 1,
                            menuCode: "AUTH_ROLE_ADD_BTN",
                            subMenu: [],
                            menuIds: null,
                            menuName: "新增角色资源11",
                            method: null,
                            origin: null,
                            parentId: 509,
                            parentName: null,
                            path: "/roleresource11",
                            pathName: null,
                            sort: 15
                        }
                        ],
                        menuIds: null,
                        menuName: "新增角色",
                        method: null,
                        origin: null,
                        parentId: 93,
                        parentName: null,
                        path: "/roleadd",
                        pathName: null,
                        sort: 15
                    },
                    {
                        applicationName: "AUTH",
                        icon: "icon-tuBiao_tongyong",
                        id: 619,
                        isSelect: null,
                        isShow: 0,
                        istrue: 1,
                        menuCode: "AUTH_ROLE_ADD_BTN",
                        subMenu: [],
                        menuIds: null,
                        menuName: "新增角色111",
                        method: null,
                        origin: null,
                        parentId: 93,
                        parentName: null,
                        path: "/role111",
                        pathName: null,
                        sort: 15
                    }
                    ],
                    menuIds: null,
                    menuName: "资源",
                    method: null,
                    origin: "",
                    parentId: 11,
                    parentName: null,
                    path: "/resource",
                    pathName: null,
                    sort: 2
                },
                {
                    applicationName: "AUTH",
                    icon: "icon-tuBiao_caidanguanli",
                    id: 101,
                    isSelect: null,
                    isShow: 0,
                    istrue: 1,
                    menuCode: "AUTH_MENU",
                    subMenu: [
                    {
                        applicationName: "AUTH",
                        icon: "icon-tuBiao_caidanguanli",
                        id: 1011,
                        isSelect: null,
                        isShow: 1,
                        istrue: 1,
                        menuCode: "AUTH_MENU",
                        subMenu: [],
                        menuIds: null,
                        menuName: "菜单22",
                        method: null,
                        origin: "",
                        parentId: 101,
                        parentName: null,
                        path: "/menus22",
                        pathName: null,
                        sort: 1
                    }
                    ],
                    menuIds: null,
                    menuName: "菜单2",
                    method: null,
                    origin: "",
                    parentId: 11,
                    parentName: null,
                    path: "/menus2",
                    pathName: null,
                    sort: 1
                },
                {
                    applicationName: "AUTH",
                    icon: "icon-tuBiao_biaoge",
                    id: 101,
                    isSelect: null,
                    isShow: 1,
                    istrue: 1,
                    menuCode: "AUTH_MENU",
                    subMenu: [],
                    menuIds: null,
                    menuName: "表格",
                    method: null,
                    origin: "",
                    parentId: 11,
                    parentName: null,
                    path: "/table",
                    pathName: null,
                    sort: 1
                },
                {
                    applicationName: "AUTH",
                    icon: "icon-tuBiao_biaoge",
                    id: 101,
                    isSelect: null,
                    isShow: 1,
                    istrue: 1,
                    menuCode: "AUTH_MENU",
                    subMenu: [],
                    menuIds: null,
                    menuName: "表单",
                    method: null,
                    origin: "",
                    parentId: 11,
                    parentName: null,
                    path: "/testform",
                    pathName: null,
                    sort: 1
                },
                {
                    applicationName: "AUTH",
                    icon: "icon-tuBiao_biaoge",
                    id: 101,
                    isSelect: null,
                    isShow: 1,
                    istrue: 1,
                    menuCode: "AUTH_MENU",
                    menuDTOlist: [],
                    menuIds: null,
                    menuName: "图表",
                    method: null,
                    origin: "",
                    parentId: 11,
                    parentName: null,
                    path: "/echarts",
                    pathName: null,
                    sort: 1
                }
                ],
                menuIds: null,
                menuName: "权限管理",
                method: null,
                origin: "",
                parentId: -1,
                parentName: null,
                path: "/#/dashboard",
                pathName: null,
                sort: 10
            },
            isCollapse: true,
            defaultActive: this.$route.path,
            isSlot: false,
            router: true,
            myMenusWidth: 64
        }
    },
    methods: {
        handleMenuItem(val) {
            this.defaultActive = val.path;
            this.$router.push({
                path: val.path
            });
        }
    }

</script>
```
> handleMenuItem是控制el-menu-item的点击事件，handleMenuSub是控制el-submenu的点击事件。如果想在el-submenu上添加点击事件，可在调用时调用；不需要则可不写。

### **item内置属性**
属性|说明|备注
:-|:-|:-
path|绑定传入的值为path属性，建议不要同名。|menu-item上的index属性默认绑定path
isShow|判断是否显示当前节点|-
icon|绑定的传入值为图标类名|-
menuName|绑定传入值为菜单名称|-
subMenuName|子级集合属性名|默认为menuDTOlist
||

### **Attributes**
> 若属性不传即使用默认值，建议传入数据源时最好判断下数据源

属性|说明|类型|可选值|默认值
:-|:-|:-|:-|:-
menuList|数据源|Array|-|[]
isCollapse|是否水平折叠收起菜单（仅在 mode 为 vertical 时可用）|Boolean|true/false|true
router|是否使用 vue-router 的模式，启用该模式会在激活导航时以 index 作为 path 进行路由跳转|Boolean|true/false|false
defaultActive|当前激活菜单的 index|String|-|$route.path
isSlot|是否启用slot插槽自定义，启用自定义插槽后，将可整个组件重构，将根据新的定义显示|Boolean|true/false|false
myMenusWidth|宽度控制|Number|any|64
defaultProps|默认参数，可配置子菜单名subMenuName|Object|-|{subMenuName: "menuDTOlist"}
||||

### **events**

事件|说明|回调参数
:-|:-|:-
handleMenuItem|my-menu-item事件回调|-
handleMenuSub|my-submenu事件回调，可选|-
||

### **slot**
name|说明
:-|:-
slotMenu| 具名插槽，可自定义整个菜单
|
> 由于有修改了内置样式，展开类型的菜单建议使用插槽形式自定义菜单组件