Icon 图标

介绍

基于字体的图标集,可以通过 Icon 组件使用,也可以在其他组件中通过icon属性引用

引入

  1. import Vue from 'vue';
  2. import { Icon } from 'vant';
  3. Vue.use(Icon);

代码演示

基础用法

Iconname属性支持传入图标名称或图片链接,所有可用的图标名称见右侧示例

  1. <van-icon name="chat-o" />
  2. <van-icon name="https://b.yzcdn.cn/vant/icon-demo-1126.png" />

徽标提示

设置dot属性后,会在图标右上角展示一个小红点。设置badge属性后,会在图标右上角展示相应的徽标

  1. <van-icon name="chat-o" dot />
  2. <van-icon name="chat-o" badge="9" />
  3. <van-icon name="chat-o" badge="99+" />

图标颜色

Iconcolor属性用来设置图标的颜色

  1. <van-icon name="chat-o" color="#1989fa" />
  2. <van-icon name="chat-o" color="#07c160" />

图标大小

Iconsize属性用来设置图标的尺寸大小,默认单位为px

  1. <van-icon name="chat-o" size="40" /> <van-icon name="chat-o" size="3rem" />

使用本地字体文件

Icon 组件默认引用有赞 CDN 提供的字体文件,并通过网络下载。如果需要在项目中使用本地字体文件,请引入下面的 CSS 文件,并在项目中配置url-loader

  1. import 'vant/lib/icon/local.css';

自定义图标

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

  1. /* 引入第三方或自定义的字体图标样式 */
  2. @font-face {
  3. font-family: 'my-icon';
  4. src: url('./my-icon.ttf') format('truetype');
  5. }
  6. .my-icon {
  7. font-family: 'my-icon';
  8. }
  9. .my-icon-extra::before {
  10. content: '\e626';
  11. }
  1. <!-- 通过 class-prefix 指定类名为 my-icon -->
  2. <van-icon class-prefix="my-icon" name="extra" />

API

Props

参数说明类型默认值
name图标名称或图片链接string-
dot是否显示图标右上角小红点booleanfalse
badge v2.5.6图标右上角徽标的内容number | string-
info图标右上角徽标的内容(已废弃,请使用 badge 属性)number | string-
color图标颜色stringinherit
size图标大小,如 20px 2em,默认单位为pxnumber | stringinherit
class-prefix类名前缀,用于使用自定义图标stringvan-icon
tagHTML 标签stringi

Events

事件名说明回调参数
click点击图标时触发event: Event

Icon 图标 - 图1