Skip to content

FullIconifyIcon 类型

FullIconifyIcon 类型用于 Iconify Utils 中处理图标数据。

你可以在 Iconify Utils 源代码src/icon/index.ts 文件中找到此类型。

此类型与 IconifyIcon 相同,区别在于所有属性均为必填项。

tsimport type { IconifyIcon } from '@iconify/types';

export type FullIconifyIcon = Required<IconifyIcon>;

有关详细信息,请参阅 IconifyIcon 类型。

示例

json{
   "body": "<path d=\"M7 6v12l10-6z\" fill=\"currentColor\"/>",
   "left": 0,
   "top": 0,
   "width": 24,
   "height": 24,
   "rotate": 0,
   "vFlip": false,
   "hFlip": false
}

用法

要将 IconifyIcon 转换为 FullIconifyIcon,请将 defaultIconProps 与你的数据合并:

usage.ts
tsimport type { IconifyIcon, FullIconifyIcon } from '@iconify/utils';
import { defaultIconProps } from '@iconify/utils';

// Icon
const icon: IconifyIcon = {
   body: '<path d="M7 6v12l10-6z" fill="currentColor"/>',
   width: 24,
   height: 24,
};

// Add all optional properties
const fullIcon: FullIconifyIcon = {
   // Default values first
   ...defaultIconProps,
   // Then custom values to override default values
   ...icon,
};

console.log(fullIcon);
Result:
json{
   "left": 0,
   "top": 0,
   "width": 24,
   "height": 24,
   "rotate": 0,
   "vFlip": false,
   "hFlip": false,
   "body": "<path d=\"M7 6v12l10-6z\" fill=\"currentColor\"/>"
}