Skip to content
12:13

TnBadge-徽标

该组件一般用于图标右上角显示未读的消息数量,提示用户点击,有圆点和圆包含文字、图标两种形式。

组件位置

typescript
import TnBadge from '@tuniao/tnui-vue3-uniapp/components/badge/src/badge.vue'
import TnBadge from '@tuniao/tnui-vue3-uniapp/components/badge/src/badge.vue'
typescript
import TnBadge from '@/uni_modules/tuniaoui-vue3/components/badge/src/badge.vue'
import TnBadge from '@/uni_modules/tuniaoui-vue3/components/badge/src/badge.vue'

平台差异说明

App(vue)H5微信小程序支付宝小程序...
适配中

基础使用

支持两种方式使用角标

  • 嵌套在组件内部进行使用,前提是当前组件必须有position属性
  • 将内容嵌套在TnBadge组件内部
vue
<view style="position: relative;">
  <TnBadge value="99" type="primary" />
</view>
<view style="position: relative;">
  <TnBadge value="99" type="primary" />
</view>
vue
<TnBadge value="99" type="primary">
  <view class="content">content</view>
</TnBadge>
<TnBadge value="99" type="primary">
  <view class="content">content</view>
</TnBadge>
  • 通过value参数设置徽标的值,当不设置或者值为或''时,徽标不显示。
  • type值可选的有primarysuccesswarningdangerinfo,默认为primary,即默认徽标
  • 通过size参数来修改徽标的大小,可选值为lgxl,也可以传递指定的大小尺寸,默认单位为 rpx,接受传入带单位的参数
  • 通过bg-color设置徽标背景颜色
  • 通过text-color设置徽标背景颜色
  • 通过font-size设置徽标字体大小
vue
<TnBadge value="99" type="primary" />
<TnBadge value="99" type="success" />
<TnBadge value="99" type="warning" />
<TnBadge value="99" type="danger" />
<TnBadge value="99" type="info" />
<TnBadge value="99" type="primary" />
<TnBadge value="99" type="success" />
<TnBadge value="99" type="warning" />
<TnBadge value="99" type="danger" />
<TnBadge value="99" type="info" />
vue
<TnBadge value="99" bg-color="tn-blue" text-color="tn-white" />
<TnBadge value="99" bg-color="gradient__cool-6" text-color="#fff" />
<TnBadge value="99" bg-color="#01beff" text-color="rgb(255, 255, 255)" />
<TnBadge value="99" bg-color="tn-blue" text-color="tn-white" />
<TnBadge value="99" bg-color="gradient__cool-6" text-color="#fff" />
<TnBadge value="99" bg-color="#01beff" text-color="rgb(255, 255, 255)" />
vue
<TnBadge value="99" type="primary" size="20" />
<TnBadge value="99" type="primary" size="20px" />
<TnBadge value="99" type="primary" size="lg" />
<TnBadge value="icon-logo-tuniao" type="primary" size="40" font-size="50" />
<TnBadge value="99" type="primary" size="20" />
<TnBadge value="99" type="primary" size="20px" />
<TnBadge value="99" type="primary" size="lg" />
<TnBadge value="icon-logo-tuniao" type="primary" size="40" font-size="50" />

图标角标

通过设置value的值为icon-开头时使用TnIcon作为图标进行显示,具体图标查看 此时设置size属性为具体值的时候是设置角标的宽高属性

vue
<TnBadge value="icon-logo-tuniao" />
<TnBadge value="icon-logo-tuniao" size="60" />
<TnBadge value="icon-logo-tuniao" />
<TnBadge value="icon-logo-tuniao" size="60" />

设置角标最大值

通过max参数可以设置角标显示的最大值,当超过最大值时,显示max+max参数在valuenumber类型下有效

vue
<TnBadge :value="200" :max="99" />
<TnBadge :value="200" :max="99" />

设置点角标

通过设置dot参数为true时,显示点角标 此时设置size属性为具体值的时候是设置角标的宽高属性

vue
<TnBadge dot />
<TnBadge dot />

设置固定位置的角标

通过设置absolute参数为true时,可以将角标固定在容器的右上角 可以通过设置absolute-configabsolute-center参数来设置角标的位置

vue
<TnBadge
  value="99"
  absolute
  :absolute-config="{ top: '10%'; }"
  absolute-center
/>
<TnBadge
  value="99"
  absolute
  :absolute-config="{ top: '10%'; }"
  absolute-center
/>

API

Props

属性名说明类型默认值可选值
value徽标内容,可以是数字或者字符串,当为数字时,超过 max 会显示{max}+,以 icon-开头则显示图标String | Number--
max徽标内容最大值,在 value 为 number 时有效,超过最大值会显示{max}+String | Number--
type徽标颜色类型,设置徽标颜色为主题色Stringprimaryprimary / success / warning / danger / info
bg-color徽标背景颜色,可以使用图鸟内置的背景色、hex、rgb、rgbaString--
text-color徽标字体颜色,可以使用图鸟内置的字体色、hex、rgb、rgbaString--
size徽标尺寸,可以使用可选值和指定的尺寸大小String | Number-lg / xl
font-size徽标字体大小String | Number--
bold徽标字体是否加粗Booleanfalsetrue
custom-style自定义样式Object--
custom-class自定义类名String--
dot是否显示点徽标Booleanfalsetrue
absolute是否绝对定位徽标Booleanfalsetrue
absolute-position绝对定位的位置信息BadgeAbsolutePositionConfig{}-
absolute-center角标是否居中显示,在absolutetrue时生效Booleanfalsetrue
index点击徽标时的标识String | Number--

Events

事件名说明类型
click徽标点击事件() => void

Slots

插槽名说明
default自定义默认内容

BadgeAbsolutePositionConfig

参数说明必填
top距离顶部的位置-
right距离右边的位置-

Tuniao UI