Icon 图标

用于显示图标。

何时使用

需要显示图标时。

所有内置的图标可在 DevUI 官网进行查看:https://devui.design/icon/ruleResource

基本用法

logo.svg
通过name属性,指定需要显示的图标,支持 DevUI 图标库图标和 URL 形式的图标。
<template> <div class="demo-spacing"> <d-icon name="like"></d-icon> <d-icon name="https://devui.design/components/assets/logo.svg" size="16px"></d-icon> </div> </template> 

附带描述信息

设置


设置


logo.svgLogo


运行中


编辑


无权编辑
利用prefixsuffix可分别设置图标的前置和后置内容,operable设置可交互图标,disabled设置禁用态,rotate设置图标旋转角度或自动旋转。
<template> <d-icon name="setting" operable> <template #prefix> <span>设置</span> </template> </d-icon> <br /> <br /> <d-icon name="setting" operable> <template #suffix> <span>设置</span> </template> </d-icon> <br /> <br /> <d-icon name="https://devui.design/components/assets/logo.svg" size="16px" operable> <template #suffix> <span>Logo</span> </template> </d-icon> <br /> <br /> <d-icon name="refresh" rotate="infinite" operable> <template #suffix> <span>运行中</span> </template> </d-icon> <br /> <br /> <d-icon name="edit" :rotate="180"> <template #suffix> <span>编辑</span> </template> </d-icon> <br /> <br /> <d-icon name="edit" disabled> <template #suffix> <span>无权编辑</span> </template> </d-icon> </template> 

颜色

通过color属性指定图标的颜色。
<template> <div class="demo-spacing"> <d-icon name="right-o" color="#3DCCA6"></d-icon> <d-icon name="error-o" color="#F66F6A"></d-icon> </div> </template> 

尺寸

通过size属性,设置图标尺寸。
<template> <div class="demo-spacing"> <d-icon name="insert-image"></d-icon> <d-icon name="insert-image" size="32px"></d-icon> </div> </template> 

图标组

可操作图标
静态图标
常用图标组使用场景
<template> <h5>可操作图标</h5> <d-icon-group> <d-icon name="add" operable disabled size="16px"></d-icon> <d-icon name="edit" operable size="16px"></d-icon> <d-icon name="delete" operable size="16px"></d-icon> </d-icon-group> <h5>静态图标</h5> <d-icon-group> <d-icon name="add" disabled size="16px"></d-icon> <d-icon name="edit" size="16px"></d-icon> <d-icon name="delete" size="16px"></d-icon> </d-icon-group> </template> 

自定义字体图标

Icon 组件默认引用 DevUI 图标库的图标,如果需要在现有 Icon 的基础上使用更多图标,可以引入第三方 iconfont 对应的字体文件和 CSS 文件,之后就可以在 Icon 组件中直接使用。

@font-face { font-family: 'my-icon'; src: url('./my-icon.ttf') format('truetype'); } .my-icon { font-family: 'my-icon'; } .my-icon-right::before { content: '\E03F'; } 

引入字体图标的 css

@import 'my-icon.css'; 

使用

<d-icon class-prefix="my-icon" name="right"></d-icon> 

自定义 svg

可以借助 vite-plugin-vue-svg,将 svg component 传入,实现自定义 svg。

<template> <d-icon :component="MySvgIcon"></d-icon> </template> <script> import { defineComponent } from 'vue'; import MySvgIcon from '../../assets/logo.svg'; export default defineComponent({ setup() { return { MySvgIcon, }; }, }); </script> 

Icon 参数

参数名类型默认值说明跳转 Demo
namestring--必选,图标名称基本用法
sizestring'16px'可选,图标尺寸尺寸
colorstring'#252b3a'可选,图标颜色颜色
class-prefixstring'icon'可选,自定义字体图标前缀自定义字体图标
componentVueComponentnull可选,自定义 svg 图标自定义 svg
operablebooleanfalse可选,图标是否可操作附带描述信息
disabledbooleanfalse可选,图标是否禁用附带描述信息
rotatenumber | 'infinite'--可选,infinite表示设置图标自动旋转,数字值表示图标旋转角度附带描述信息

Icon 插槽

插槽名说明
prefix图标前置内容
suffix图标后置内容
Contributors