From 4cdf4d85d8dc2e8a5040bedb457f6b28ecc9cd7f Mon Sep 17 00:00:00 2001 From: CCherry07 <2405693142@qq.com> Date: Thu, 13 Apr 2023 12:03:09 +0800 Subject: [PATCH 1/8] fix(menu): icon do not show problem --- components/menu/src/MenuItem.tsx | 4 ++-- components/menu/src/SubMenu.tsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/menu/src/MenuItem.tsx b/components/menu/src/MenuItem.tsx index a5406d1400..bcc8f0d263 100644 --- a/components/menu/src/MenuItem.tsx +++ b/components/menu/src/MenuItem.tsx @@ -248,9 +248,9 @@ export default defineComponent({ title={typeof title === 'string' ? title : undefined} > {cloneElement( - icon, + typeof icon === 'function' ? : icon, { - class: `${prefixCls.value}-item-icon`, + class: `${prefixCls}-item-icon`, }, false, )} diff --git a/components/menu/src/SubMenu.tsx b/components/menu/src/SubMenu.tsx index e5764242d5..c6c7041081 100644 --- a/components/menu/src/SubMenu.tsx +++ b/components/menu/src/SubMenu.tsx @@ -224,7 +224,7 @@ export default defineComponent({ return ( <> {cloneElement( - icon, + typeof icon === 'function' ? : icon, { class: `${prefixCls.value}-item-icon`, }, From 3ff733af4fed50e1073a405fe0807173cf702cb2 Mon Sep 17 00:00:00 2001 From: CCherry07 <2405693142@qq.com> Date: Thu, 13 Apr 2023 18:40:52 +0800 Subject: [PATCH 2/8] fix(menu): icon do not show problem --- components/components.ts | 1 + components/menu/index.tsx | 2 ++ components/menu/src/MenuItem.tsx | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/components/components.ts b/components/components.ts index bcd3dfeca6..d6b1e6d802 100644 --- a/components/components.ts +++ b/components/components.ts @@ -116,6 +116,7 @@ export type { MenuItemProps, MenuMode, MenuDividerProps, + ItemType, } from './menu'; export { default as Menu, MenuDivider, MenuItem, MenuItemGroup, SubMenu } from './menu'; diff --git a/components/menu/index.tsx b/components/menu/index.tsx index a3d992e767..ce3e3e0cff 100644 --- a/components/menu/index.tsx +++ b/components/menu/index.tsx @@ -10,6 +10,7 @@ import Divider from './src/Divider'; import type { MenuDividerProps } from './src/Divider'; import type { App, Plugin } from 'vue'; import type { MenuTheme, MenuMode } from './src/interface'; +import type { ItemType } from './src/hooks/useItems'; /* istanbul ignore next */ Menu.install = function (app: App) { app.component(Menu.name, Menu); @@ -32,6 +33,7 @@ export type { MenuTheme, MenuMode, MenuDividerProps, + ItemType, }; export { SubMenu, diff --git a/components/menu/src/MenuItem.tsx b/components/menu/src/MenuItem.tsx index bcc8f0d263..4538a001d7 100644 --- a/components/menu/src/MenuItem.tsx +++ b/components/menu/src/MenuItem.tsx @@ -250,7 +250,7 @@ export default defineComponent({ {cloneElement( typeof icon === 'function' ? : icon, { - class: `${prefixCls}-item-icon`, + class: `${prefixCls.value}-item-icon`, }, false, )} From 6d5aa79a6d4b0853d00ce5bd9781ef4a4ed6b63e Mon Sep 17 00:00:00 2001 From: CCherry07 <2405693142@qq.com> Date: Thu, 13 Apr 2023 18:41:17 +0800 Subject: [PATCH 3/8] feat(menu): update demo --- components/menu/demo/horizontal.vue | 103 ++++++------ components/menu/demo/index.vue | 10 +- components/menu/demo/inline-collapsed.vue | 184 ++++++++++++---------- components/menu/demo/inline.vue | 133 +++++++--------- components/menu/demo/sider-current.vue | 120 +++++++------- components/menu/demo/submenu-theme.vue | 84 ++++++++++ components/menu/demo/switch-mode.vue | 128 +++++++-------- components/menu/demo/template.vue | 127 --------------- components/menu/demo/theme.vue | 144 ++++++++++------- components/menu/demo/vertical.vue | 141 ++++++++++------- 10 files changed, 590 insertions(+), 584 deletions(-) create mode 100644 components/menu/demo/submenu-theme.vue delete mode 100644 components/menu/demo/template.vue diff --git a/components/menu/demo/horizontal.vue b/components/menu/demo/horizontal.vue index 670ac66ab5..612795f40b 100644 --- a/components/menu/demo/horizontal.vue +++ b/components/menu/demo/horizontal.vue @@ -17,54 +17,65 @@ Horizontal top navigation menu. - diff --git a/components/menu/demo/index.vue b/components/menu/demo/index.vue index b11fef036c..af0a2eb8a3 100644 --- a/components/menu/demo/index.vue +++ b/components/menu/demo/index.vue @@ -4,10 +4,10 @@ - - - + + + @@ -22,7 +22,7 @@ import SiderCurrent from './sider-current.vue'; import SwitchMode from './switch-mode.vue'; import Theme from './theme.vue'; import Vertical from './vertical.vue'; -import TemplateSingleFile from './template.vue'; +import SubmenuTheme from './submenu-theme.vue'; export default defineComponent({ CN, @@ -35,7 +35,7 @@ export default defineComponent({ SwitchMode, Theme, Vertical, - TemplateSingleFile, + SubmenuTheme, }, }); diff --git a/components/menu/demo/inline-collapsed.vue b/components/menu/demo/inline-collapsed.vue index 60cb34e232..2943ebc3a3 100644 --- a/components/menu/demo/inline-collapsed.vue +++ b/components/menu/demo/inline-collapsed.vue @@ -23,62 +23,22 @@ Here is [a complete demo](/components/layout/#components-layout-demo-side) with - diff --git a/components/menu/demo/inline.vue b/components/menu/demo/inline.vue index fcfdbb831b..6b263c6c3c 100644 --- a/components/menu/demo/inline.vue +++ b/components/menu/demo/inline.vue @@ -22,83 +22,66 @@ Vertical menu with inline submenus. v-model:selectedKeys="selectedKeys" style="width: 256px" mode="inline" + :items="items" @click="handleClick" - > - - - - - - - Option 1 - Option 2 - - - Option 3 - Option 4 - - - - - - Option 5 - Option 6 - - Option 7 - Option 8 - - - - - - Option 9 - Option 10 - Option 11 - Option 12 - - + > - diff --git a/components/menu/demo/sider-current.vue b/components/menu/demo/sider-current.vue index 5df9b97586..57d6309ee3 100644 --- a/components/menu/demo/sider-current.vue +++ b/components/menu/demo/sider-current.vue @@ -19,75 +19,67 @@ Click the menu and you will see that all the other menus gets collapsed to keep - diff --git a/components/menu/demo/submenu-theme.vue b/components/menu/demo/submenu-theme.vue new file mode 100644 index 0000000000..f3495b4711 --- /dev/null +++ b/components/menu/demo/submenu-theme.vue @@ -0,0 +1,84 @@ + +--- +order: 2 +title: + zh-CN: 子菜单主题 + en-US: SubMenu theme +--- + +## zh-CN + +你可以通过 `theme` 属性来设置 SubMenu 的主题从而达到不同目录树下不同主题色的效果。该例子默认为根目录深色,子目录浅色效果。 + +## en-US + +You can config SubMenu theme with `theme` prop to enable different theme color effect. This sample is dark for root and light for SubMenu. + + + + + diff --git a/components/menu/demo/switch-mode.vue b/components/menu/demo/switch-mode.vue index 60f1774b7d..81f71d2620 100644 --- a/components/menu/demo/switch-mode.vue +++ b/components/menu/demo/switch-mode.vue @@ -18,60 +18,25 @@ Show the dynamic switching mode (between `inline` and `vertical`). - diff --git a/components/menu/demo/template.vue b/components/menu/demo/template.vue deleted file mode 100644 index 354ea04db2..0000000000 --- a/components/menu/demo/template.vue +++ /dev/null @@ -1,127 +0,0 @@ - ---- -order: 99 -title: - zh-CN: 单文件递归菜单 - en-US: Single file recursive menu ---- - -## zh-CN -使用单文件方式递归生成菜单。 - -## en-US -Use the single file method to recursively generate menus. - - - - - diff --git a/components/menu/demo/theme.vue b/components/menu/demo/theme.vue index 14e1a40d09..b748f4d23d 100644 --- a/components/menu/demo/theme.vue +++ b/components/menu/demo/theme.vue @@ -32,46 +32,12 @@ There are two built-in themes: `light` and `dark`. The default value is `light`. style="width: 256px" mode="inline" :theme="theme" - > - - - Navigation One - - - - Navigation Two - - - - - Option 3 - Option 4 - - Option 5 - Option 6 - - - - - - Option 7 - Option 8 - Option 9 - Option 10 - - + :items="items" + /> - diff --git a/components/menu/demo/vertical.vue b/components/menu/demo/vertical.vue index 6fd2ffa2eb..aced56ea6b 100644 --- a/components/menu/demo/vertical.vue +++ b/components/menu/demo/vertical.vue @@ -22,46 +22,12 @@ Submenus open as pop-ups. v-model:selectedKeys="selectedKeys" style="width: 256px" mode="vertical" + :items="items" @click="handleClick" - > - - - Navigation One - - - - Navigation Two - - - - - Option 3 - Option 4 - - Option 5 - Option 6 - - - - - - Option 7 - Option 8 - Option 9 - Option 10 - - + /> - From 91c375ee2b77bc8d463af747eccb153ee334bcf3 Mon Sep 17 00:00:00 2001 From: CCherry07 <2405693142@qq.com> Date: Thu, 13 Apr 2023 18:41:30 +0800 Subject: [PATCH 4/8] test(menu): update demo snap --- .../__tests__/__snapshots__/demo.test.js.snap | 191 +++++++++--------- 1 file changed, 101 insertions(+), 90 deletions(-) diff --git a/components/menu/__tests__/__snapshots__/demo.test.js.snap b/components/menu/__tests__/__snapshots__/demo.test.js.snap index 16485ab6fb..1841b57436 100644 --- a/components/menu/__tests__/__snapshots__/demo.test.js.snap +++ b/components/menu/__tests__/__snapshots__/demo.test.js.snap @@ -1,19 +1,19 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`renders ./components/menu/demo/horizontal.vue correctly 1`] = ` -