跳到正文

AttentionDot 提醒点

AttentionDot 表示“这里有东西需要你注意”:未读消息、新回复、待处理的更新。它只表达有或没有,不带数字(要显示数量请用 Badge)。包住一个图标或图标按钮,提醒点会落在它的右上角(随书写方向为结束侧上角);也可以单独放在文字旁边。

演示

基础用法

包住提醒点所属的元素;无边框的按钮里改为包住图标,让提醒点贴着图标。宿主是按钮时,把状态写进按钮自己的名字里(“通知,有未读”);只有提醒点需要单独表达含义时才传 label。

类型

accent 是标准的未读颜色,也是默认值。success、warning、error 使用和表单、消息反馈相同的颜色;neutral 是安静的灰色,比如表示“离线”。

尺寸

尺寸只看放不放得下,不代表优先级:每个提醒点的含义都一样。只有放不下 medium 的地方(紧凑的列表行、小头像)才用 small。

脉冲

pulse 在提醒点周围重复一圈缓慢的波纹,用于不能错过的事情。用户偏好减少动态效果时不播放。

显示和隐藏

show 去掉提醒点,保留被标记的元素。

偏移

offset 让提醒点离开角落:x 为正向外移,y 为正向下移。圆形宿主上往里收一点,让它贴住边缘。

独立使用

没有 children 时提醒点以行内方式渲染,比如放在导航行的末尾。

Props

名称类型默认值说明版本
showbooleantrue隐藏提醒点,保留被包住的元素。未发布
typeaccent | primary | neutral | info | success | warning | erroraccent颜色角色。未发布
sizesmall | mediummedium提醒点大小。只有放不下 medium 时才用 small。未发布
pulsebooleanfalse添加缓慢重复的脉冲;prefers-reduced-motion 下关闭。未发布
labelstringundefined提醒点的无障碍名称(role="img")。不传时提醒点对辅助技术隐藏。未发布
offset[x, y]undefined让提醒点离开角落。数字单位是 px,字符串可以是任意 CSS 长度。未发布
childrenReactNodeundefined提醒点所在的元素。不传时以行内方式渲染。未发布

AttentionDot 也接受原生 span 属性和 ref,它们作用在外层包裹元素上。size 和 type 可以通过 ConfigProvider 的 componentOptions.AttentionDot 统一设置。

AttentionDot 和 Badge 是分开的:Badge 用来计数,AttentionDot 只说“看这里”,并在每个主题里有自己的样子(Brutal 是带墨色描边的实心点,Elegant 是带柔和光晕的点)。