当前位置:   article > 正文

ant design pro 脚手架项目 二级菜单无法显示icon解决方案_ant design pro 动态菜单icon

ant design pro 动态菜单icon

用户需求场景

ant design pro v5版本二级菜单不显示图标,官方的说法是故意关掉此功能,主要原因是由于要支持的话,当动态生成菜单时,意味着要引入所有的图片库,造成增加3M左右的工程大小。

解决办法

app.tsx中增加以下内容menuItemRender内容,如下:

  1. // 南极客 fixed 2021.7.8
  2. export const layout: RunTimeLayoutConfig = ({ initialState }) => {
  3. return {
  4. // 南极客 修补:二级图标正常显示2021.7.8
  5. menuItemRender: (menuItemProps, defaultDom) => {
  6. if (
  7. menuItemProps.isUrl || !menuItemProps.path) {
  8. return defaultDom;
  9. }
  10. // 支持二级菜单显示icon
  11. return (
  12. <Link to={menuItemProps.path}>
  13. {menuItemProps.pro_layout_parentKeys
  14. && menuItemProps.pro_layout_parentKeys.length > 0 &&
  15. menuItemProps.icon}{defaultDom}
  16. </Link>
  17. );
  18. },
  19. rightContentRender: () => <RightContent />,
  20. disableContentMargin: false,
  21. /* 去掉水印功能 南极客 2021.4.22
  22. waterMarkProps: {
  23. content: initialState?.currentUser?.name,
  24. },
  25. */
  26. footerRender: () => <Footer />,
  27. onPageChange: () => {
  28. const { location } = history;
  29. // 如果没有登录,重定向到 login
  30. if (!initialState?.currentUser && location.pathname !== loginPath) {
  31. history.push(loginPath);
  32. }
  33. },
  34. links: isDev
  35. ? [
  36. /* 去掉菜单底部链接 南极客 2021.4.22
  37. <Link to="/umi/plugin/openapi" target="_blank">
  38. <LinkOutlined />
  39. <span>openAPI 文档</span>
  40. </Link>,
  41. <Link to="/~docs">
  42. <BookOutlined />
  43. <span>业务组件文档</span>
  44. </Link>,
  45. */
  46. ]
  47. : [],
  48. menuHeaderRender: undefined,
  49. // 自定义 403 页面
  50. // unAccessible: <div>unAccessible</div>,
  51. ...initialState?.settings,
  52. };
  53. };


作者:南极客
链接:https://juejin.cn/post/6982606213670240293
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/113146?site
推荐阅读
相关标签
  

闽ICP备14008679号