mergeCustomisations()
此函数属于 Iconify Utils 包。
函数 mergeCustomisations() 用于合并默认自定义配置(以 FullIconCustomisations 对象形式呈现)与部分自定义配置。它还会验证类型,因此可用于清理用户输入。
用法
该函数包含以下参数:
- defaults,FullIconCustomisations。完整自定义配置。
- item,IconifyIconCustomisations。需要与 defaults 合并的部分自定义配置。
函数返回合并后的自定义配置,其类型与第一个参数传入的类型相同(这使得该函数可用于扩展类型)。
示例
example.ts
ts
import type { IconifyIconCustomisations } from '@iconify/utils';
import { defaultIconCustomisations, mergeCustomisations } from '@iconify/utils';
const customisations: IconifyIconCustomisations = {
hFlip: true,
};
const fullCustomisations = mergeCustomisations(
defaultIconCustomisations,
customisations
);
console.log(fullCustomisations);合并
为什么不直接像这样合并对象呢?
bad-example.ts
ts
import type { IconifyIconCustomisations } from '@iconify/utils';
import { defaultIconCustomisations } from '@iconify/utils';
const customisations: IconifyIconCustomisations = {
hFlip: true,
};
const fullCustomisations = {
...defaultIconCustomisations,
...customisations,
};
console.log(fullCustomisations);这种方法仅适用于默认自定义配置,但如果两个对象都包含变换,则无法正常工作。
例如,当你合并来自图标的自定义配置(可能包含变换)与用户的自定义配置时,应使用 mergeCustomisations() 函数。它也可用于在解析图标别名时合并自定义配置。