Blame view

Yi.Vben5.Vue3/docs/src/guide/essentials/icons.md 1.84 KB
515fceeb   “wangming”   框架初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
  # 图标
  
  ::: tip 关于图标的管理
  
  - 项目的图标主要由`@vben/icons`包提供,建议统一在该包内部管理,以便于统一管理和维护。
  - 如果你使用的是 `Vscode`,推荐安装 [Iconify IntelliSense](https://marketplace.visualstudio.com/items?itemName=antfu.iconify) 插件,可以方便的查找和使用图标。
  
  :::
  
  项目中有以下多种图标使用方式,可以根据实际情况选择使用:
  
  ## Iconify 图标 <Badge text="推荐" type="tip"/>
  
  集成了 [iconify](https://github.com/iconify/iconify) 图标库
  
  ### 新增
  
  可在 `packages/icons/src/iconify` 目录下新增图标:
  
  ```ts
  // packages/icons/src/iconify/index.ts
  import { createIconifyIcon } from '@vben-core/icons';
  
  export const MdiKeyboardEsc = createIconifyIcon('mdi:keyboard-esc');
  ```
  
  ### 使用
  
  ```vue
  <script setup lang="ts">
  import { MdiKeyboardEsc } from '@vben/icons';
  </script>
  
  <template>
    <!-- 一个宽高为20px的图标 -->
    <MdiKeyboardEsc class="size-5" />
  </template>
  ```
  
  ## Svg 图标 <Badge text="推荐" type="tip"/>
  
  没有采用 Svg Sprite 的方式,而是直接引入 Svg 图标,
  
  ### 新增
  
  可以在 `packages/icons/src/svg/icons` 目录下新增图标文件`test.svg`, 然后在 `packages/icons/src/svg/index.ts` 中引入:
  
  ```ts
  // packages/icons/src/svg/index.ts
  import { createIconifyIcon } from '@vben-core/icons';
  
  const SvgTestIcon = createIconifyIcon('svg:test');
  
  export { SvgTestIcon };
  ```
  
  ### 使用
  
  ```vue
  <script setup lang="ts">
  import { SvgTestIcon } from '@vben/icons';
  </script>
  
  <template>
    <!-- 一个宽高为20px的图标 -->
    <SvgTestIcon class="size-5" />
  </template>
  ```
  
  ## Tailwind CSS 图标
  
  ### 使用
  
  直接添加 Tailwind CSS 的图标类名即可使用,图标类名可查看 [iconify](https://github.com/iconify/iconify)
  
  ```vue
  <span class="icon-[mdi--ab-testing]"></span>
  ```