Vant4 Badge 微標(biāo)

2023-02-16 17:55 更新

介紹

在右上角展示徽標(biāo)數(shù)字或小紅點(diǎn)。

引入

通過(guò)以下方式來(lái)全局注冊(cè)組件,更多注冊(cè)方式請(qǐng)參考組件注冊(cè)。

import { createApp } from 'vue';
import { Badge } from 'vant';

const app = createApp();
app.use(Badge);

代碼演示

基礎(chǔ)用法

設(shè)置 ?content? 屬性后,Badge 會(huì)在子元素的右上角顯示對(duì)應(yīng)的徽標(biāo),也可以通過(guò) ?dot? 來(lái)顯示小紅點(diǎn)。

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

最大值

設(shè)置 ?max? 屬性后,當(dāng) ?content? 的數(shù)值超過(guò)最大值時(shí),會(huì)自動(dòng)顯示為 ?{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>

自定義顏色

通過(guò) ?color? 屬性來(lái)設(shè)置徽標(biāo)的顏色。

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

自定義徽標(biāo)內(nèi)容

通過(guò) ?content? 插槽可以自定義徽標(biāo)的內(nèi)容,比如插入一個(gè)圖標(biāo)。

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

自定義徽標(biāo)位置

通過(guò) ?position? 屬性來(lái)設(shè)置徽標(biāo)的位置。

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

獨(dú)立展示

當(dāng) Badge 沒(méi)有子元素時(shí),會(huì)作為一個(gè)獨(dú)立的元素進(jìn)行展示。

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

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

API

Props

參數(shù) 說(shuō)明 類型 默認(rèn)值
content 徽標(biāo)內(nèi)容 number | string -
color 徽標(biāo)背景顏色 string #ee0a24
dot 是否展示為小紅點(diǎn) boolean false
max 最大值,超過(guò)最大值會(huì)顯示 {max}+,僅當(dāng) content 為數(shù)字時(shí)有效 number | string -
offset v3.0.5 設(shè)置徽標(biāo)的偏移量,數(shù)組的兩項(xiàng)分別對(duì)應(yīng)水平和垂直方向的偏移量,默認(rèn)單位為 px [number | string, number | string] -
show-zero v3.0.10 當(dāng) content 為數(shù)字 0 或字符串 '0' 時(shí),是否展示徽標(biāo) boolean true
position v3.2.7 徽標(biāo)位置,可選值為 top-left bottom-left bottom-right string top-right

Slots

名稱 說(shuō)明
default 徽標(biāo)包裹的子元素
content 自定義徽標(biāo)內(nèi)容

類型定義

組件導(dǎo)出以下類型定義:

import type { BadgeProps, BadgePosition } from 'vant';

主題定制

樣式變量

組件提供了下列 CSS 變量,可用于自定義樣式,使用方法請(qǐng)參考 ConfigProvider 組件。

名稱 默認(rèn)值 描述
--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 -


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)