menu
state.header
顶栏菜单
state.aside
侧边栏菜单
state.asideCollapse
侧边栏的折叠状态
actions.asideCollapseSet
介绍
设置侧边栏展开或者收缩。
参数
| 参数名 | 介绍 | 必选 | 值类型 | 可选值 | 默认值 | 
|---|---|---|---|---|---|
| collapse | 新的值 | 必选 | Boolean | 
返回
promise
示例
// 折叠侧边栏菜单
this.$store.dispatch('iform/menu/asideCollapseSet', true)
// 展开侧边栏菜单
this.$store.dispatch('iform/menu/asideCollapseSet', false)actions.asideCollapseToggle
介绍
切换侧边栏展开和收缩。
参数
无
返回
promise
示例
this.$store.dispatch('iform/menu/asideCollapseToggle')actions.asideCollapseLoad
介绍
从持久化数据读取侧边栏展开或者收缩。
参数
无
返回
promise
示例
this.$store.dispatch('iform/menu/asideCollapseLoad')mutations.headerSet
介绍
设置顶栏菜单。
参数
| 参数名 | 介绍 | 必选 | 值类型 | 可选值 | 默认值 | 
|---|---|---|---|---|---|
| menu | 菜单 | 必选 | Array | 
示例
this.$store.commit('iform/menu/headerSet', menu)menu 数据格式
| 字段名 | 介绍 | 必选 | 值类型 | 默认值 | 
|---|---|---|---|---|
| path | 路由 path | 非 | String | lodash.uniqueId('d2-menu-empty-') | 
| title | 菜单名称 | 必选 | String | 未命名菜单 | 
| icon | 菜单图标 | 非 | String | |
| iconSvg | SVG 菜单图标 | 非 | String | |
| children | 子菜单数据 | 非 | Array | 
示例:
[
  {
    path: '/index',
    title: '首页',
    icon: 'home'
  },
  {
    path: '/demo',
    title: '示例',
    icon: 'puzzle-piece',
    children: [
      {
        path: '/demo/plugins',
        title: '插件',
        icon: 'plug'
      }
    ]
  }
]临时菜单
支持设置临时菜单,如果您在开发页面前需要先设计好菜单结构,可以只设置 title 字段,iform 在生成菜单时会使用随机唯一 id 区分菜单项目,并且在点击时提示这是一个临时菜单。
设置临时菜单的示例:
[
  {
    title: '空菜单演示',
    icon: 'folder-o',
    children: [
      {
        title: '正在开发 1',
        children: [
          { title: '正在开发 1-1' },
          { title: '正在开发 1-2' }
        ]
      },
      { title: '正在开发 2' },
      { title: '正在开发 3' }
    ]
  }
]外部链接
支持设置外部链接,您可以直接这样写:
[
  {
    title: '跳转外部链接',
    icon: 'link',
    children: [
      {
        path: 'http://www.ankepower.com',
        title: '安可官网',
        icon: 'logo'
      },
      {
        path: 'https://juejin.im/user/57a48b632e958a006691b946/posts',
        title: '掘金',
        icon: 'globe'
      }
    ]
  }
]以 https:// 或者 http:// 开头的 path 会被当做外部链接处理。
svg 图标
如果您不满足于 fontawesome 图表库,或者需要自己定制菜单图标,可以在菜单中增加 iconSvg 字段:
{
  title: 'svg 菜单图标',
  iconSvg: 'iform',
  children: [
    { title: 'add', iconSvg: 'add' },
    { title: 'alarm', iconSvg: 'alarm' }
  ]
}iconSvg 字段可选值同 icon-svg 的 name 属性。
取消默认图标
如果 icon 字段不设置,渲染时会自动根据是否有子菜单选择性渲染 file-o 和 folder-o 图标。如果您不希望发生这种表现,请在菜单属性中显式声明 icon 等于空字符串:
{
  icon: ''
}这样会将此菜单设置为不显示任何图标。
mutations.asideSet
介绍
设置侧边栏菜单。
参数
| 参数名 | 介绍 | 必选 | 值类型 | 可选值 | 默认值 | 
|---|---|---|---|---|---|
| menu | 菜单 | 必选 | Array | 
示例
this.$store.commit('iform/menu/asideSet', menu)menu 的格式同 mutations.headerSet
作者:hugh  创建时间:2023-12-26 14:51
最后编辑:hugh 更新时间:2025-10-24 18:04
最后编辑:hugh 更新时间:2025-10-24 18:04