在右上角展示徽标数字或小红点。
通过以下方式来全局注册组件,更多注册方式请参考组件注册。
import { createApp } from "vue";
import { Badge } from "vant";
const app = createApp();
app.use(Badge);
设置 content
属性后,Badge 会在子元素的右上角显示对应的徽标,也可以通过 dot
来显示小红点。
<van-badge :content="5">
<div class="child" />
</van-badge>
<van-badge :content="10">
<div class="child" />
</van-badge>
<van-badge content="Hot">
<div class="child" />
</van-badge>
<van-badge dot>
<div class="child" />
</van-badge>
<style>
.child {
width: 40px;
height: 40px;
background: #f2f3f5;
border-radius: 4px;
}
</style>
设置 max
属性后,当 content
的数值超过最大值时,会自动显示为 {max}+
。
<van-badge :content="20" max="9">
<div class="child" />
</van-badge>
<van-badge :content="50" max="20">
<div class="child" />
</van-badge>
<van-badge :content="200" max="99">
<div class="child" />
</van-badge>
通过 color
属性来设置徽标的颜色。
<van-badge :content="5" color="#1989fa">
<div class="child" />
</van-badge>
<van-badge :content="10" color="#1989fa">
<div class="child" />
</van-badge>
<van-badge dot color="#1989fa">
<div class="child" />
</van-badge>
通过 content
插槽可以自定义徽标的内容,比如插入一个图标。
<van-badge>
<div class="child" />
<template #content>
<van-icon name="success" class="badge-icon" />
</template>
</van-badge>
<van-badge>
<div class="child" />
<template #content>
<van-icon name="cross" class="badge-icon" />
</template>
</van-badge>
<van-badge>
<div class="child" />
<template #content>
<van-icon name="down" class="badge-icon" />
</template>
</van-badge>
.badge-icon {
display: block;
font-size: 10px;
line-height: 16px;
}
通过 position
属性来设置徽标的位置。
<van-badge :content="10" position="top-left">
<div class="child" />
</van-badge>
<van-badge :content="10" position="bottom-left">
<div class="child" />
</van-badge>
<van-badge :content="10" position="bottom-right">
<div class="child" />
</van-badge>
当 Badge 没有子元素时,会作为一个独立的元素进行展示。
<van-badge :content="20" />
<van-badge :content="200" max="99" />
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
content | 徽标内容 | number | string | - |
color | 徽标背景颜色 | string | #ee0a24
|
dot | 是否展示为小红点 | boolean | false
|
max | 最大值,超过最大值会显示 {max}+ ,仅当 content 为数字时有效 |
number | string | - |
offset v3.0.5
|
设置徽标的偏移量,数组的两项分别对应水平和垂直方向的偏移量,默认单位为 px
|
[number | string, number | string] | - |
show-zero v3.0.10
|
当 content 为数字 0 或字符串 "0" 时,是否展示徽标 | boolean | true
|
position v3.2.7
|
徽标位置,可选值为 top-left bottom-left bottom-right
|
string | top-right
|
名称 | 说明 |
---|---|
default | 徽标包裹的子元素 |
content | 自定义徽标内容 |
组件导出以下类型定义:
import type { BadgeProps, BadgePosition } from "vant";
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。
名称 | 默认值 | 描述 |
---|---|---|
--van-badge-size | 16px | - |
--van-badge-color | var(--van-white) | - |
--van-badge-padding | 0 3px | - |
--van-badge-font-size | var(--van-font-size-sm) | - |
--van-badge-font-weight | var(--van-font-bold) | - |
--van-badge-border-width | var(--van-border-width) | - |
--van-badge-background | var(--van-danger-color) | - |
--van-badge-dot-color | var(--van-danger-color) | - |
--van-badge-dot-size | 8px | - |
--van-badge-font | -apple-system-font, Helvetica Neue, Arial, sans-serif | - |
介绍用于标记关键词和概括主要内容。引入通过以下方式来全局注册组件,更多注册方式请参考组件注册。import { createApp } from ...
介绍Vant 是基于有赞Zan Design System视觉规范实现的组件库,在这里可以下载 Vant 的设计资源。设计稿组件设计稿(Sketch)包含...
介绍日历组件用于选择日期或日期区间。实例演示引入通过以下方式来全局注册组件,更多注册方式请参考组件注册。import { createA...
介绍用户可以在文本框内输入或编辑文字。实例演示引入通过以下方式来全局注册组件,更多注册方式请参考组件注册。import { creat...
介绍建立父子组件之间的关联关系,进行数据通信和方法调用,基于provide和inject实现。代码演示基本用法在父组件中使用useChildr...
介绍用于搜索场景的输入框组件。实例演示引入通过以下方式来全局注册组件,更多注册方式请参考组件注册。import { createApp } f...
介绍用于优惠券的兑换和选择。实例演示引入通过以下方式来全局注册组件,更多注册方式请参考组件注册。import { createApp } fro...
介绍用于从一组相关联的数据集合中进行选择。实例演示引入通过以下方式来全局注册组件,更多注册方式请参考组件注册。import { c...