Skip to content

toggleCharacter()

此函数属于 Iconify Tools 中的 IconSet 类。

toggleCharacter() 函数用于向图标添加字符或从中移除字符。

用法

该函数包含以下参数:

  • iconNamestring 类型。图标名称。
  • charstring 类型。十六进制字符串格式的字符,例如 "f001"。
  • addboolean 类型。如果为 true,则将字符添加到图标;如果为 false,则从图标中移除字符。

函数执行成功时返回 true,失败时返回 false

字符映射

字符映射的作用是什么?

它用于生成图标字体。图标字体中的每个图标都会分配一个字符。即使使用连字,连字也会指向一个字符,因此字符是必需的。

如何查找所有字符?

你可以通过使用 chars() 方法来获取所有已分配字符的列表。

如果你想查看分配给某个图标的字符,可以使用如下代码:

tsconst item = iconSet.entries['some-icon'];
// Set<string>
console.log(item.chars);

直接在 entries 属性中修改字符是安全的。

示例

chars-example.ts
tsimport { blankIconSet } from '@iconify/tools';

// Create icon set, add few icons and characters
const iconSet = blankIconSet('test-prefix');

iconSet.setIcon('add', {
   body: '<path d="M14 7v1H8v6H7V8H1V7h6V1h1v6h6z"/>',
});
iconSet.toggleCharacter('add', 'f001', true);

iconSet.setIcon('triangle-left', {
   body: '<g fill="currentColor"><path d="M10.44 2l.56.413v11.194l-.54.393L5 8.373v-.827L10.44 2z"/></g>',
});
iconSet.toggleCharacter('triangle-left', 'f002', true);

iconSet.setVariation('triangle-right', 'triangle-left', {
   hFlip: true,
});
iconSet.toggleCharacter('triangle-right', 'f003', true);

// Set character for icon that does not exist (will fail)
iconSet.toggleCharacter('whatever', 'f005', true);

// Export characters map
console.log(iconSet.chars());

// Characters map is also exported in export():
console.log(iconSet.export());