Unverified Commit 2e9ef838 authored by Sendya's avatar Sendya

fix: menu router-link

parent 628574c6
......@@ -25,7 +25,7 @@
"Sendya <18x@loacg.com>"
],
"scripts": {
"dev": "vite --force",
"dev": "vite",
"build": "vue-tsc --noEmit && vite build",
"serve": "vite preview"
},
......@@ -35,7 +35,7 @@
"vue-router": "^4.0.3"
},
"dependencies": {
"ant-design-vue": "^2.2.1",
"ant-design-vue": "^2.2.2",
"lodash-es": "^4.17.21",
"vue": "^3.1.0",
"vue-router": "^4.0.10"
......
......@@ -173,15 +173,17 @@ class MenuUtil {
);
}
const [title, icon] = this.getMenuItem(item);
return (
((this.props.menuItemRender && this.props.menuItemRender(item)) as VNode) || (
<Menu.Item
disabled={item.meta?.disabled}
danger={item.meta?.danger}
key={item.path}
icon={item.meta?.icon && <LazyIcon icon={item.meta.icon} />}
icon={icon}
>
{this.getMenuItem(item)}
{title}
</Menu.Item>
)
);
......@@ -191,7 +193,7 @@ class MenuUtil {
const meta = Object.assign({}, item.meta);
const target = (meta.target || null) as string | null;
const hasUrl = isUrl(item.path);
const CustomTag: any = resolveComponent((target && 'a') || 'router-link');
const CustomTag: any = (target && 'a') || resolveComponent('router-link');
const props = { to: { name: item.name } };
const attrs = hasUrl || target ? { ...item.meta, href: item.path, target: target } : {};
......@@ -207,7 +209,15 @@ class MenuUtil {
</CustomTag>
);
return defaultTitle;
const icon =
(item.meta?.icon && (
<CustomTag {...attrs} {...props} class={`${prefixCls}-menu-item`}>
<LazyIcon icon={item.meta.icon} />
</CustomTag>
)) ||
null;
return [defaultTitle, icon];
};
conversionPath = (path: string) => {
......
......@@ -916,10 +916,10 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
dependencies:
color-convert "^2.0.1"
ant-design-vue@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ant-design-vue/-/ant-design-vue-2.2.1.tgz#263716745a8a92673b4b3ba2d382919e38129212"
integrity sha512-pxcvVhxQ39JkWl8uLq+W51FIho4kJQve3BhnnlSTz8rcg6yctz6kH+ieOA20AWhkau+/Gk0X2rug2bjBpiA0hw==
ant-design-vue@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/ant-design-vue/-/ant-design-vue-2.2.2.tgz#197388583c4e0b8ccd9c50ed19831ede27c2b919"
integrity sha512-Gmed9dVw4oqYmuO3ubkXbRBadldE82XSt6Gqq3F2grvORKXYoJF/3CaMwfyRN81UaoRhWVTHmLeGLzuVpwJepw==
dependencies:
"@ant-design/icons-vue" "^6.0.0"
"@babel/runtime" "^7.10.5"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment