2019-08-04 15:36:25 +08:00
|
|
|
// 创建 el-menu-item
|
|
|
|
|
export function elMenuItem (createElement, menu) {
|
2019-08-11 00:10:59 +08:00
|
|
|
return createElement('el-menu-item', { props: { index: menu.path } }, [
|
2019-08-04 15:36:25 +08:00
|
|
|
...menu.icon ? [
|
|
|
|
|
createElement('i', { attrs: { class: `fa fa-${menu.icon}` } })
|
|
|
|
|
] : [],
|
|
|
|
|
...menu.icon === undefined & !menu.iconSvg ? [
|
|
|
|
|
createElement('i', { attrs: { class: 'fa fa-file-o' } })
|
|
|
|
|
] : [],
|
|
|
|
|
...menu.iconSvg ? [
|
|
|
|
|
createElement('d2-icon-svg', { props: { name: menu.iconSvg } })
|
|
|
|
|
] : [],
|
2019-08-12 22:19:54 +08:00
|
|
|
createElement('span', { slot: 'title' }, menu.title || '未命名菜单')
|
2019-08-04 15:36:25 +08:00
|
|
|
])
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 创建 el-submenu
|
|
|
|
|
export function elSubmenu (createElement, menu) {
|
2019-08-11 00:10:59 +08:00
|
|
|
return createElement('el-submenu', { props: { index: menu.path } }, [
|
2019-08-04 15:36:25 +08:00
|
|
|
...menu.icon ? [
|
|
|
|
|
createElement('i', { slot: 'title', attrs: { class: `fa fa-${menu.icon}` } })
|
|
|
|
|
] : [],
|
|
|
|
|
...menu.icon === undefined & !menu.iconSvg ? [
|
2019-08-22 19:48:53 +08:00
|
|
|
createElement('i', { slot: 'title', attrs: { class: 'fa fa-folder-o' } })
|
2019-08-04 15:36:25 +08:00
|
|
|
] : [],
|
|
|
|
|
...menu.iconSvg ? [
|
|
|
|
|
createElement('d2-icon-svg', { slot: 'title', props: { name: menu.iconSvg } })
|
|
|
|
|
] : [],
|
2019-08-12 22:19:54 +08:00
|
|
|
createElement('span', { slot: 'title' }, menu.title || '未命名菜单'),
|
2019-08-04 15:36:25 +08:00
|
|
|
...menu.children.map((child, childIndex) => (child.children === undefined ? elMenuItem : elSubmenu).call(this, createElement, child))
|
|
|
|
|
])
|
|
|
|
|
}
|