简体中文
头像优先的按钮:打开一条锚定的批注线程,或宿主定义的一组线程。单线程标记显示首位参与者;分组标记最多显示三个头像圆——超过三人时前两个加省略号——并显示线程总数。只要有未读线程,总数(或单线程的头像)后面就会出现一个强调色状态点。
这是 Meta Astryx 实验室 CommentPin 的 Vue 移植,对齐 v0.7.13。宿主负责分组、代表人选、坐标、碰撞处理,以及激活后打开的评论界面;图钉只负责按钮表面和受控的视觉状态。需要打开评论内容时可复用已有的 Comments / CommentThread。本组件不会改名或替换 ChatEmojiPicker。
CommentPin
Comments
CommentThread
ChatEmojiPicker
此组件位于 @astryx-vue/lab,仅通过 canary 标签发布。
@astryx-vue/lab
canary
import { CommentPin } from '@astryx-vue/lab'
label
string
participants
readonly [CommentPinParticipant, ...CommentPinParticipant[]]
id
AvatarGroup
name
avatarSrc
size
'sm' | 'md' | 'lg'
'sm'
sm
md
lg
threadCount
number
1
unreadCount
0
isSelected
boolean
false
isDimmed
isResolved
isDisabled
aria-disabled="true"
disabled
CommentPinParticipant 为 { id: string, name: string, avatarSrc?: string }。
CommentPinParticipant
{ id: string, name: string, avatarSrc?: string }
click
event: MouseEvent
绝对定位时,把宿主锚点对准图钉逻辑上的「下-起始」角:气泡轮廓在这个角使用固定的 2px border-end-start-radius,另外三个角是图钉高度的一半。先定位,再 translateY(-100%),让尖角落在锚点上。图钉本身不计算坐标,也不处理碰撞。
border-end-start-radius
translateY(-100%)
按钮是唯一的可访问控件。头像、省略号、线程总数和未读点都放在 aria-hidden 轨道里。aria-pressed 反映选中状态。提示文案使用 label;图钉禁用或标签为空时不显示提示。
aria-hidden
aria-pressed
CommentPin
头像优先的按钮:打开一条锚定的批注线程,或宿主定义的一组线程。单线程标记显示首位参与者;分组标记最多显示三个头像圆——超过三人时前两个加省略号——并显示线程总数。只要有未读线程,总数(或单线程的头像)后面就会出现一个强调色状态点。
这是 Meta Astryx 实验室
CommentPin的 Vue 移植,对齐 v0.7.13。宿主负责分组、代表人选、坐标、碰撞处理,以及激活后打开的评论界面;图钉只负责按钮表面和受控的视觉状态。需要打开评论内容时可复用已有的Comments/CommentThread。本组件不会改名或替换ChatEmojiPicker。此组件位于
@astryx-vue/lab,仅通过canary标签发布。导入
属性
labelstringparticipantsreadonly [CommentPinParticipant, ...CommentPinParticipant[]]id组成最多三个圆的AvatarGroup:不超过三人时全部显示,否则前两个加省略号溢出圆。请传入全部不重复的参与者,这样只有超过三人时才会出现省略号。每条记录包含id、name和可选的avatarSrc。size'sm' | 'md' | 'lg''sm'sm28px、md32px、lg36px,对应 22px、24px、28px 的头像圆。threadCountnumber1unreadCountnumber0threadCount。大于 0 时在图钉末尾显示强调色状态点,不会再显示第二个数字。非法值会被忽略。isSelectedbooleanfalseisDimmedbooleanfalseisResolvedbooleanfalseisDisabledbooleanfalsearia-disabled="true"而不是原生disabled,因此在聚焦时变为禁用不会丢失焦点。CommentPinParticipant为{ id: string, name: string, avatarSrc?: string }。事件
clickevent: MouseEvent放置
绝对定位时,把宿主锚点对准图钉逻辑上的「下-起始」角:气泡轮廓在这个角使用固定的 2px
border-end-start-radius,另外三个角是图钉高度的一半。先定位,再translateY(-100%),让尖角落在锚点上。图钉本身不计算坐标,也不处理碰撞。无障碍
按钮是唯一的可访问控件。头像、省略号、线程总数和未读点都放在
aria-hidden轨道里。aria-pressed反映选中状态。提示文案使用label;图钉禁用或标签为空时不显示提示。