Badge 徽标
介绍
出现在图标或文字右上角的红色圆点、数字或者文字,表示有新内容或者待处理的信息。
基础用法
html
<template>
<div class="demo">
<nut-badge :value="8">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
<nut-badge :value="76">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
<nut-badge value="NEW">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
<nut-badge dot>
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
</div>
</template>
<style lang="scss">
.demo{
padding: 30px 17px 0 17px;
}
.nut-badge {
margin-right: 40px;
}
</style>最大值
html
<template>
<div class="demo">
<nut-badge :value="200" :max="9">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
<nut-badge :value="200" :max="20">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
<nut-badge :value="200" :max="99">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
</div>
</template>
<style lang="scss">
.demo{
padding: 30px 17px 0 17px;
}
.nut-badge {
margin-right: 40px;
}
</style>自定义颜色
html
<template>
<div class="demo">
<nut-badge :value="8" custom-color="linear-gradient(315deg, rgba(73,143,242,1) 0%,rgba(73,101,242,1) 100%)">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
<nut-badge :value="76" custom-color="linear-gradient(315deg, rgba(73,143,242,1) 0%,rgba(73,101,242,1) 100%)">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
<nut-badge value="NEW" custom-color="linear-gradient(315deg, rgba(73,143,242,1) 0%,rgba(73,101,242,1) 100%)">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
<nut-badge dot custom-color="linear-gradient(315deg, rgba(73,143,242,1) 0%,rgba(73,101,242,1) 100%)">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
</div>
</template>
<style lang="scss">
.demo{
padding: 30px 17px 0 17px;
}
.nut-badge {
margin-right: 40px;
}
</style>自定义徽标内容
html
<template>
<div class="demo">
<nut-badge>
<template #icon>
<nut-icon name="check" custom-color="#ffffff" size="12px" />
</template>
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
<nut-badge>
<template #icon>
<nut-icon name="link" custom-color="#ffffff" size="12px" />
</template>
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
<nut-badge>
<template #icon>
<nut-icon name="download" custom-color="#ffffff" size="12px" />
</template>
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
</div>
</template>
<script setup>
</script>
<style lang="scss">
.demo{
padding: 30px 17px 0 17px;
}
.nut-badge {
margin-right: 40px;
}
</style>自定义位置
html
<template>
<div class="demo">
<nut-badge :value="8" top="5" right="5">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
<nut-badge :value="76" top="10" right="10">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
<nut-badge value="NEW">
<nut-avatar shape="square"></nut-avatar>
</nut-badge>
</div>
</template>
<style lang="scss">
.demo{
padding: 30px 17px 0 17px;
}
.nut-badge {
margin-right: 40px;
}
</style>独立展示
html
<template>
<div class="demo">
<nut-badge :value="8"> </nut-badge>
<nut-badge :value="76"> </nut-badge>
<nut-badge value="NEW"> </nut-badge>
</div>
</template>
<style lang="scss">
.demo{
padding: 30px 17px 0 17px;
}
.nut-badge {
margin-right: 40px;
}
</style>API
Props
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| value | 显示的内容 | string | - | - |
| max | value 为数值时,最大值 | number | - | 10000 |
| z-index | 徽标的 z-index 值 | number | - | 10 |
| dot | 是否为小点 | boolean | - | false |
bubble(>v4.0.0) | 是否为气泡形状 | Boolean | - | false |
| hidden | 是否隐藏 | boolean | - | false |
| top | 上下偏移量,支持单位设置,可设置为:5px 等 | number | - | 0 |
| right | 左右偏移量,支持单位设置,可设置为:5px 等 | number | - | 0 |
| custom-color | 徽标背景颜色 | string | - | #fa2c19 |
Slots
| 名称 | 说明 |
|---|---|
| default | 徽标包裹的子元素 |
| icon | 徽标自定义 |
主题定制
样式变量
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。
| 名称 | 默认值 |
|---|---|
| --nut-badge-background-color | linear-gradient(135deg, var(--nut-primary-color) 0%, var(--nut-primary-color-end) 100%) |
| --nut-badge-color | #fff |
| --nut-badge-font-size | var(--nut-font-size-1) |
| --nut-badge-border-radius | 14px |
| --nut-badge-icon-padding | 4px |
| --nut-badge-padding | 0 5px |
| --nut-badge-content-transform | translate(50%, -50%) |
| --nut-badge-z-index | 1 |
| --nut-badge-dot-width | 7px |
| --nut-badge-dot-height | 7px |
| --nut-badge-dot-border-radius | 7px |
| --nut-badge-dot-padding | 0px |
