Skip to content

Badge 徽章

按钮和图标上的数字或状态标记。

基础用法

可以用来展示新消息的数量

数量值可接受 NumberString

<template>
  <px-badge :value="12" class="item">
    <px-button>Badge</px-button>
  </px-badge>
  <px-badge :value="3" class="item" type="primary">
    <px-button>Badge</px-button>
  </px-badge>
  <px-badge :value="1" class="item" type="success">
    <px-button>Badge</px-button>
  </px-badge>
  <px-badge :value="2" class="item" type="warning">
    <px-button>Badge</px-button>
  </px-badge>
  <px-badge :value="1" class="item" type="sakura">
    <px-button>Badge</px-button>
  </px-badge>
</template>
<style scoped>
.px-badge {
  margin-right: 15px;
}
</style>

最大值

通过 max 属性设置最大值, 超过最大值会显示 {max}+, 仅当 valueNumber 时生效

<template>
  <px-badge :value="200" :max="99" class="item">
    <px-button>comments</px-button>
  </px-badge>
  <px-badge :value="100" :max="10" class="item">
    <px-button>replies</px-button>
  </px-badge>
</template>

<style scoped>
.item {
  margin-right: 40px;
}
</style>

自定义显示内容

除数字外, 还支持显示任何值, 或者通过 content 插槽自定义显示内容

<template>
  <px-badge value="new" class="item">
    <px-button>comments</px-button>
  </px-badge>
  <px-badge value="hot" class="item">
    <px-button>replies</px-button>
  </px-badge>
  <px-badge value="99" class="item">
    <px-button>share</px-button>
    <template #content="{ value }">
      <div class="custom-content">
        <px-icon icon="cog" color="#fff" size="20" />
        <span>{{ value }}</span>
      </div>
    </template>
  </px-badge>
</template>
<style scoped>
.item {
  margin-right: 25px;
}
</style>

小红点

通过一个小红点标记告知用户有新内容

使用 is-dot 属性设置

<template>
  <px-badge is-dot class="item">query</px-badge>
  <px-badge is-dot class="item">
    <px-button class="share-button" icon="share" type="primary" />
  </px-badge>
</template>
<style scoped>
.item {
  margin-right: 25px;
}
</style>

偏移量

设置徽章点的偏移量, 格式为 [left, top], 表示状态点从左侧和默认位置顶部的偏移

使用 offset 属性设置

<template>
  <px-badge class="item" :value="1" :offset="[10, 5]">
    <px-button> offset</px-button>
  </px-badge>
</template>

自定义颜色

您可以自定义徽章的颜色。

组件库将自动计算徽章的颜色。

TIP

由于技术力问题, 请勿对此功能抱有太高期望, 如果希望实现自定义主题, 更加推荐直接修改 @property 属性, 详情见下述

<template>
  <px-badge :value="12" class="item" color="#626aef">
    <px-button color="#626aef">Badge</px-button>
  </px-badge>
  <px-badge :value="3" class="item" color="#dfee56">
    <px-button color="#dfee56">Badge</px-button>
  </px-badge>
  <px-badge :value="1" class="item" color="#fadbe0">
    <px-button color="#fadbe0">Badge</px-button>
  </px-badge>
  <px-badge :value="1" class="item" color="green">
    <px-button color="green">Badge</px-button>
  </px-badge>
  <br />
  <br />
  <px-badge :value="1" class="item paint-badge">
    <px-button class="paint-button">Badge</px-button>
  </px-badge>
</template>
<style scoped>
.px-badge {
  margin-right: 15px;
}
.paint-badge.px-badge {
  --px-badge-text-color: #554562;
  --px-badge-border-color: #554562;
}
:deep(.px-badge__content) {
  --px-badge-bg-color: #fadbe0;
  --px-badge-bg-shadow-color: #eaadbd;
}
.paint-button.px-button {
  --px-button-text-color: #554562;
  --px-border-color: #554562;
  --px-bg-color: #fadbe0;
  --px-bg-shadow-color: #eaadbd;
}
</style>

API_Table插件测试

DANGER

该插件基于 markdown-it 开发, 解析组件 types.ts 文件生成 API 表格, 测试中

Badge API

Props

NameDescriptionTypeDefault
value徽章显示内容/值string | number-
max超过最大值显示max+,仅当 value 为 number 时有效number99
isDot是否启用圆点模式booleanfalse
hidden是否启用隐藏booleanfalse
type徽章类型enumdanger
showZero值为零时是否展示徽章booleantrue
color自定义颜色string-
offset偏移量[number, number]-

Slots

NameDescription
default自定义默认内容
content自定义显示内容
本站访客数 人次 本站总访问量