设置 content
属性后,Badge 会在子元素的右上角显示对应的徽标,也可以通过 dot
来显示小红点。
<Badge content={5}>
<View className="badge-block" />
</Badge>
<Badge content="10">
<View className="badge-block" />
</Badge>
<Badge content="Hot">
<View className="badge-block" />
</Badge>
<Badge dot>
<View className="badge-block" />
</Badge>
.badge-block {
width: 40px * 2;
height: 40px* 2;
background: #f2f3f5ff;
border-radius: 4px * 2;
}
设置 max
属性后,当 content
的数值超过最大值时,会自动显示为 {max}+
。
<Badge content={10} max={9}>
<View className="badge-block" />
</Badge>
<Badge content={21} max={20}>
<View className="badge-block" />
</Badge>
<Badge content={100} max={99}>
<View className="badge-block" />
</Badge>
通过 color
属性来设置徽标的颜色。
<Badge className="custom-color" content={5}>
<View className="badge-block" />
</Badge>
<Badge className="custom-color" content={10}>
<View className="badge-block" />
</Badge>
<Badge className="custom-color" content="Hot">
<View className="badge-block" />
</Badge>
<Badge className="custom-color" dot>
<View className="badge-block" />
</Badge>
.custom-color {
--badge-background-color: red;
}
通过 content
属性可以自定义徽标的内容,比如插入一个图标。
<Badge content={<Success className="badge-icon" />}>
<View className="badge-block" />
</Badge>
<Badge content={<Cross className="badge-icon" />}>
<View className="badge-block" />
</Badge>
<Badge content={<Down className="badge-icon" />}>
<View className="badge-block" />
</Badge>
.badge-icon {
display: block;
margin-left: 0;
font-size: 10px * 2;
line-height: 16px * 2;
}
通过 position
属性来设置徽标的位置。
<Badge content={10} position="top-left">
<View className="badge-block" />
</Badge>
<Badge content={10} position="top-right">
<View className="badge-block" />
</Badge>
<Badge content={10} position="bottom-left">
<View className="badge-block" />
</Badge>
<Badge content={10} position="bottom-right">
<View className="badge-block" />
</Badge>
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
content | 徽标内容 | ReactNode | - |
dot | 是否展示为小红点 | boolean | false |
max | 最大值,超过最大值会显示 {max}+ ,仅当 content 为数字时有效 | number | string | - |
position | 徽标位置,可选值为 top-left bottom-left bottom-right | string | top-right |
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。
名称 | 默认值 | 描述 |
---|---|---|
—badge-size | 16px * $hd | - |
—badge-color | var(—white) | - |
—badge-padding | 0 3px * $hd | - |
—badge-font-family | -apple-system-font, helvetica neue, arial, sans-serif | - |
—badge-font-size | var(—font-size-sm) | - |
—badge-font-weight | var(—font-weight-bold) | - |
—badge-border-width | var(—border-width-base) | - |
—badge-border-color | var(—white) | - |
—badge-border-radius | var(—border-radius-max) | - |
—badge-background-color | var(—red) | - |
—badge-dot-color | var(—badge-background-color) | - |
—badge-dot-size | 8PX | - |