Ant Design Pro自定义菜单Icon
Ant Design Pro菜单要使用自定义icon,搜到的方法基本都是通过layout的menuItemRender之类的API。最近浏览文档,发现umi文档表示路由配置兼容icons功能,但是实测在开启该功能的前提下,生成的布局代码不能正常加载icon。
直接在umi代码库内搜索相关代码,发现umi的icons功能,是使用esbuild提取相关的字符串字面量实现的,于是在生成布局时额外加一段输出<Icon icon="${icon}" />的逻辑,相关PR已被合并,之后要使用自定义图标,可以先打开icons功能:
icons: {},之后routes中就可以:
export default [
{
path: '/welcome',
name: 'welcome',
icon: 'lucide:house',
component: './Welcome',
},
{
path: '/admin',
name: 'admin',
icon: 'local:crown',
},
]