跳转到内容

徽标 badge

通用组件。三层同源:无头内核给出解剖与状态机,Vue 组件与自定义元素只是它的两层外壳,行为完全一致。

示例

变体

badge 没有状态机,connect 直接由 props 算属性

已发布草稿归档

用作状态标记

徽标不接收焦点、也不进 Tab 序列,状态语义靠文字本身表达

构建 #182运行中
构建 #181已完成
构建 #180已取消

形态

variant 决定颜色怎么用:实心填底、淡色填底、只描边

solidsubtleoutline

语气

tone 决定用哪族颜色,与 variant 正交;这里固定 solid 形态只看语气的差别

brandneutralsuccesswarningdangerinfo

尺寸

size 只改内边距与字号,不写就是缺省档

缺省

带图元的标签

根是 inline-flex 且自带间距,图标或头像直接写进默认插槽跟文字并排

已通过 校验完成 曦寒

自定义配色

不写 variant 时底色与文字色取自组件令牌;描边这一条直接写 border-color

葡萄火烈鸟 只描边

挂成角标

徽标本身随文排;外层套一层定位上下文,它就落到子元素的角上。计数、圆点、0 值收起、上限截断都在宿主这一侧

5
当前 5:为 0 收起,超过 99 截成 99+

可关闭标签

根是 inline-flex 且自带间距,关闭件直接写进默认插槽跟文字并排;点击语义、Tab 停靠与回车触发由原生按钮自带

设计 前端 无头内核 可访问性

产物

自定义元素<xh-badge>
Vue 组件XhBadge
状态机无,connect 直接由 props 算属性
皮肤@xihan-ui/styles/badge.css

解剖

部件名即 data-part 属性值,也是皮肤的选择器。加粗的是必备部件,不渲染它组件不工作(Web Components 适配器会在诊断通道上报 wc.missing-part)。

data-scope="badge"root

Props

属性类型必填说明
sizeSize尺寸:sm / md / lg
toneTone语气:brand / neutral / success / warning / danger / info,决定用哪族颜色
variantBadgeVariant

connect API

connect 产出的对象。getXxxProps() 铺到对应部件的宿主元素上,其余是可读状态与操作入口。

成员类型说明
getRootProps() => T['element']

键盘

规格出处:W3C APG

无键盘交互(不接收焦点,或焦点行为完全由原生元素提供)。

Released under The MIT License