Skip to content
本页导读

Badge

组件类型:UxBadgeComponentPublicInstance

支持多种形状、支持圆点、反转显示,可配置超出显示样式

平台兼容性

UniApp X

AndroidiOSweb鸿蒙 Next小程序
x

UniApp Vue Nvue

AndroidiOSweb鸿蒙 Next小程序
xxxx

Props

属性名类型默认值说明
themeStringprimary主题
valueNumber角标数量
maxNumber99最大值
overflowStringnormal超出显示样式
shapeStringnormal形状
dotBooleanfalse显示圆点
invertedBooleanfalse反转色
fixedBooleantrue固定定位
sizeAny$ux.Conf.fontSize字体大小
colorString$ux.Conf.fontColor字体色
darkColorString深色none-不显示,auto-自动适配深色模式,其他-颜色
backgroundColorString$ux.Conf.backgroundColor背景色
backgroundDarkString深色none-不显示,auto-自动适配深色模式,其他-颜色
topAny0距上
rightAny0距右
leftAny0距左
bottomAny0距下
paddingArray自定义角标padding
xstyleArray自定义样式

theme

说明
primary主要
success成功
warning警告
error错误

overflow

说明
normal正常
format格式化

shape

说明
normal圆角
lt左上角
rt右上角
rb右下角
lb左下角
ltrb左上右下角
rtlb右上左下角

dot

说明
true
false

inverted

说明
true
false

fixed

说明
true
false

darkColor

说明
none不显示
auto自动适配深色模式
color其他颜色

backgroundDark

说明
none不显示
auto自动适配深色模式
color其他颜色

示例代码

html
<template>
	<ux-page :stack="showDoc">
		<ux-navbar :title="title" :bold="true">
			<template v-slot:right>
				<!-- #ifndef MP -->
				<ux-button theme="text" icon="/static/tip.png" :icon-size="22" @click="onDoc()"></ux-button>
				<!-- #endif -->
			</template>
		</ux-navbar>
		
		<ux-scroll>
			<ux-card direction="column" icon="flag-filled" title="角标" :bold="true">
				<ux-text text="支持多种形状、支持圆点、反转显示,可配置超出显示样式"></ux-text>
			</ux-card>
			
			<ux-card direction="column" icon="arrowright" title="主题" :bold="true">
				<ux-text text="多种主题可配置,适配暗黑模式" :mb="15"></ux-text>
				<ux-row>
					<ux-badge :value="6" theme="primary" :fixed="false" :right="10"></ux-badge>
					<ux-badge :value="66" :size="16" theme="success" :fixed="false" :right="10"></ux-badge>
					<ux-badge :value="666" :size="18" theme="warning" :fixed="false" :right="10"></ux-badge>
					<ux-badge :value="666" :size="20" theme="error" :padding="[2, 6]" :fixed="false"></ux-badge>
				</ux-row>
			</ux-card>
			
			<ux-card direction="column" icon="arrowright" title="形状" :bold="true">
				<ux-text text="支持多种形状,可配置圆点显示" :mb="15"></ux-text>
				<ux-row>
					<ux-badge shape="circular" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge shape="lt" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge shape="rt" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge shape="rb" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge shape="lb" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge shape="ltrb" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge shape="rtlb" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge :dot="true" :value="15" :fixed="false"></ux-badge>
				</ux-row>
			</ux-card>
			
			<ux-card direction="column" icon="arrowright" title="文本格式化" :bold="true">
				<ux-text text="支持配置最大值 + 、K、W 三种格式化方式" :mb="15"></ux-text>
				<ux-row>
					<ux-badge overflow="normal" :value="150" :max="120" :fixed="false" :right="10"></ux-badge>
					<ux-badge overflow="format" :value="1500" :fixed="false" :right="10"></ux-badge>
					<ux-badge overflow="format" :value="150000" :fixed="false"></ux-badge>
				</ux-row>
			</ux-card>
			
			<ux-card direction="column" icon="arrowright" title="颜色反转" :bold="true">
				<ux-text text="支持颜色反转,适配暗黑模式" :mb="15"></ux-text>
				<ux-row>
					<ux-badge :inverted="true" :value="15" theme="primary" :fixed="false" :right="10"></ux-badge>
					<ux-badge :inverted="true" :value="15" :size="16" theme="success" :fixed="false" :right="10"></ux-badge>
					<ux-badge :inverted="true" :value="15" :size="18" theme="warning" :fixed="false" :right="10"></ux-badge>
					<ux-badge :inverted="true" :value="15" :size="20" theme="error" :fixed="false"></ux-badge>
				</ux-row>
			</ux-card>
			
			<ux-card direction="column" icon="arrowright" title="定位" :bold="true">
				<ux-text text="支持相对定位显示在任意位置" :mb="15"></ux-text>
				<ux-row>
					<ux-image src="/static/logo.png">
						<ux-badge :right="2" :top="2" :value="100" theme="warning"></ux-badge>
					</ux-image>
				</ux-row>
			</ux-card>
			
			<ux-placeholder :height="200">
				<ux-row justify="center" align="center" style="height: 100%;">
					<ux-text prefix-icon="soapbubble-filled" text="真的没有了~"></ux-text>
				</ux-row>
			</ux-placeholder>
		</ux-scroll>
	</ux-page>
</template>
<template>
	<ux-page :stack="showDoc">
		<ux-navbar :title="title" :bold="true">
			<template v-slot:right>
				<!-- #ifndef MP -->
				<ux-button theme="text" icon="/static/tip.png" :icon-size="22" @click="onDoc()"></ux-button>
				<!-- #endif -->
			</template>
		</ux-navbar>
		
		<ux-scroll>
			<ux-card direction="column" icon="flag-filled" title="角标" :bold="true">
				<ux-text text="支持多种形状、支持圆点、反转显示,可配置超出显示样式"></ux-text>
			</ux-card>
			
			<ux-card direction="column" icon="arrowright" title="主题" :bold="true">
				<ux-text text="多种主题可配置,适配暗黑模式" :mb="15"></ux-text>
				<ux-row>
					<ux-badge :value="6" theme="primary" :fixed="false" :right="10"></ux-badge>
					<ux-badge :value="66" :size="16" theme="success" :fixed="false" :right="10"></ux-badge>
					<ux-badge :value="666" :size="18" theme="warning" :fixed="false" :right="10"></ux-badge>
					<ux-badge :value="666" :size="20" theme="error" :padding="[2, 6]" :fixed="false"></ux-badge>
				</ux-row>
			</ux-card>
			
			<ux-card direction="column" icon="arrowright" title="形状" :bold="true">
				<ux-text text="支持多种形状,可配置圆点显示" :mb="15"></ux-text>
				<ux-row>
					<ux-badge shape="circular" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge shape="lt" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge shape="rt" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge shape="rb" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge shape="lb" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge shape="ltrb" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge shape="rtlb" :value="15" :fixed="false" :right="10"></ux-badge>
					<ux-badge :dot="true" :value="15" :fixed="false"></ux-badge>
				</ux-row>
			</ux-card>
			
			<ux-card direction="column" icon="arrowright" title="文本格式化" :bold="true">
				<ux-text text="支持配置最大值 + 、K、W 三种格式化方式" :mb="15"></ux-text>
				<ux-row>
					<ux-badge overflow="normal" :value="150" :max="120" :fixed="false" :right="10"></ux-badge>
					<ux-badge overflow="format" :value="1500" :fixed="false" :right="10"></ux-badge>
					<ux-badge overflow="format" :value="150000" :fixed="false"></ux-badge>
				</ux-row>
			</ux-card>
			
			<ux-card direction="column" icon="arrowright" title="颜色反转" :bold="true">
				<ux-text text="支持颜色反转,适配暗黑模式" :mb="15"></ux-text>
				<ux-row>
					<ux-badge :inverted="true" :value="15" theme="primary" :fixed="false" :right="10"></ux-badge>
					<ux-badge :inverted="true" :value="15" :size="16" theme="success" :fixed="false" :right="10"></ux-badge>
					<ux-badge :inverted="true" :value="15" :size="18" theme="warning" :fixed="false" :right="10"></ux-badge>
					<ux-badge :inverted="true" :value="15" :size="20" theme="error" :fixed="false"></ux-badge>
				</ux-row>
			</ux-card>
			
			<ux-card direction="column" icon="arrowright" title="定位" :bold="true">
				<ux-text text="支持相对定位显示在任意位置" :mb="15"></ux-text>
				<ux-row>
					<ux-image src="/static/logo.png">
						<ux-badge :right="2" :top="2" :value="100" theme="warning"></ux-badge>
					</ux-image>
				</ux-row>
			</ux-card>
			
			<ux-placeholder :height="200">
				<ux-row justify="center" align="center" style="height: 100%;">
					<ux-text prefix-icon="soapbubble-filled" text="真的没有了~"></ux-text>
				</ux-row>
			</ux-placeholder>
		</ux-scroll>
	</ux-page>
</template>
ts
<script setup>
	
	import * as plus from '@/uni_modules/ux-plus'
	
	const title = ref('')
	const showDoc = ref(false)
	
	function onDoc() {
		plus.openWeb({
			title: '在线文档',
			url: 'https://www.uxframe.cn/component/badge.html',
			// blur: 1,
			success: () => {
				showDoc.value = true
			},
			complete: () => {
				showDoc.value = false
			}
		})
	}
	
	onLoad((e) => {
		title.value = e['title'] ?? ''
	})
</script>
<script setup>
	
	import * as plus from '@/uni_modules/ux-plus'
	
	const title = ref('')
	const showDoc = ref(false)
	
	function onDoc() {
		plus.openWeb({
			title: '在线文档',
			url: 'https://www.uxframe.cn/component/badge.html',
			// blur: 1,
			success: () => {
				showDoc.value = true
			},
			complete: () => {
				showDoc.value = false
			}
		})
	}
	
	onLoad((e) => {
		title.value = e['title'] ?? ''
	})
</script>
css
<style lang="scss">
	
</style>
<style lang="scss">
	
</style>