Skip to content

ChatReactionBar ​

在一条消息下面排一行表情回应。每个胶囊显示表情和数量;当前用户自己的回应带强调色,并且 aria-pressed="true"。监听 add 时,末尾会出现添加按钮,打开 ChatEmojiPicker。

这个组件属于 @astryx-vue/lab,只通过 canary 标签发布。

导入 ​

ts
import { ChatReactionBar } from '@astryx-vue/lab'

属性 ​

名称类型默认值说明
reactionsChatReaction[]必填按显示顺序排列。isSelected 表示当前用户已回应。label 同时作为提示和无障碍名。
emojisreadonly ChatEmojiOption[]DEFAULT_CHAT_EMOJIS添加按钮打开的选择器里的表情。
addLabelstring文案键 @astryx.comments.addReaction添加按钮和选择器对话框的无障碍名。
labelstring'Reactions'这一组的无障碍名。

没有 label 时,胶囊的无障碍名按数量生成,例如 1 reaction with 🔥、2 reactions with 👀。

事件 ​

名称参数说明
toggleemoji: string用户点了某个已有回应。
addemoji: string用户从选择器里新加了一个表情。没有监听这个事件时,不渲染添加按钮。

禁用或 aria-disabled="true" 的胶囊和添加按钮不再显示悬停边框,指针也回到普通箭头。组件本身没有单独的 busy 状态。