import{o as a,a as t,y as n}from"./vue-libs.b44bc779.js";const e={class:"van-doc-markdown-body"},c=n(`
The font-based icon set that can be used via the Icon component or referenced in other components via the icon
attribute.
Register component globally via app.use
, refer to Component Registration for more registration ways.
import { createApp } from 'vue';
import { Icon } from 'vant';
const app = createApp();
app.use(Icon);
Use name
prop to set icon name or icon URL.
<van-icon name="chat-o" />
You can directly passing an image URL to the name
props.
<van-icon name="https://fastly.jsdelivr.net/npm/@vant/assets/icon-demo.png" />
Use dot
prop, a small red dot will be displayed in the upper right corner of the icon.
Use badge
prop, the badge will be displayed in the upper right corner of the icon.
<van-icon name="chat-o" dot />
<van-icon name="chat-o" badge="9" />
<van-icon name="chat-o" badge="99+" />
Use color
prop to set icon color.
<van-icon name="cart-o" color="#1989fa" />
<van-icon name="fire-o" color="#ee0a24" />
Use size
prop to set icon size.
<!-- Using px unit by default -->
<van-icon name="chat-o" size="40" />
<!-- Using rem unit -->
<van-icon name="chat-o" size="3rem" />
@font-face {
font-family: 'my-icon';
src: url('./my-icon.ttf') format('truetype');
}
.my-icon {
font-family: 'my-icon';
}
.my-icon-extra::before {
content: '\\e626';
}
<van-icon class-prefix="my-icon" name="extra" />
Attribute | Description | Type | Default |
---|---|---|---|
name | Icon name or URL | string | '' |
dot | Whether to show red dot | boolean | false |
badge | Content of the badge | number | string | '' |
badge-props v3.2.8 | Props of Badge, see Badge - props | BadgeProps | - |
color | Icon color | string | inherit |
size | Icon size | number | string | inherit |
class-prefix | ClassName prefix | string | van-icon |
tag | HTML Tag of root element | string | i |
Event | Description | Arguments |
---|---|---|
click | Emitted when icon is clicked | event: MouseEvent |
The component exports the following type definitions:
import type { IconProps } from 'vant';