Add <Icon type="iconType" />
component for antd@4 and only import icons you need.
- When to use this plugin?
If you want to render antd icon dynamically, this plugin could render icons in a scope which you specified instead of importing all antd icons.
# or yarn
$ npm install umi-plugin-antd-type-icon --save
export default {
plugins: [
'umi-plugin-antd-type-icon',
],
icons: [
'UpOutlined',
{
QuestionOutlined: 'Question',
PlusOutlined: ['PlusOutlined', 'Plus'],
},
],
}
import React from 'react';
import { Icon } from 'umi';
const FooComponent = props => {
const { type } = props; // 'type' could be: 'UpOutlined', 'Question', 'PlusOutlined', 'Plus'
return (
<div>
<Icon type={type} />
</div>
);
};
An array to specify which icons you need. Support 3 forms:
- Origin icon type in antd
Like 'UpOutlined'
which is origin from antd Icons.
- Map origin type to another type
Like { QuestionOutlined: 'Question' }
, 'QuestionOutlined' is origin from antd, then you can use it as 'Question' type.
- Map origin type to a group of types
Like { PlusOutlined: ['PlusOutlined', 'Plus'] }
, 'PlusOutlined' is origin from antd, then you can use it as 'PlusOutlined' or 'Plus' type.
Icon type mapping string should not duplicate.
MIT