Categories: Vant3 教程

Vant3 Badge 徽标

介绍

在右上角展示徽标数字或小红点。

实例演示

引入

通过以下方式来全局注册组件,更多注册方式请参考组件注册

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;
}

独立展示

当 Badge 没有子元素时,会作为一个独立的元素进行展示。

<van-badge :content="20" />

<van-badge :content="200" max="99" />

API

Props

参数 说明 类型 默认值
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 时,是否展示徽标 boolean true

Slots

名称 说明
default 徽标包裹的子元素
content 自定义徽标内容

样式变量

组件提供了下列 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-weight-bold)
–van-badge-border-width var(–van-border-width-base)
–van-badge-background-color var(–van-danger-color)
–van-badge-dot-color var(–van-danger-color)
–van-badge-dot-size 8px
–van-badge-font-family -apple-system-font, Helvetica Neue, Arial, sans-serif
terry

这个人很懒,什么都没有留下~

Share
Published by
terry

Recent Posts

聊聊vue3中的defineProps

在Vue 3中,defineP…

1 周 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

2 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

3 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

4 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

1 月 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

1 月 ago