Skip to content

Comment 评论 ​

纯展示的评论块容器,通过插槽组装作者头像、名称、时间、内容与操作区;支持嵌套子评论自动缩进。

基础用法 ​

单条评论

张张三3 分钟前

这个组件支持纯展示的评论结构,交互操作由宿主通过 actions 插槽自行提供。

回复点赞

嵌套子评论 ​

嵌套回复(自动缩进)

李李四昨天 18:20

父评论:赞同这个设计,子评论会自动缩进并带引导线。

回复王王五昨天 19:02

子评论:通过默认插槽嵌套 oas-comment 即可,层级不限。

回复

空态 ​

空评论

无任何插槽内容时渲染为空容器,不报错;空插槽对应的区块自动隐藏。

字号定制 ​

字号默认跟随外层 font-size(继承),可用 CSS 变量 --oas-comment-font 显式定制(如 18px)。

对齐 ​

时间 / 操作区对齐(align)

张张三3 分钟前

默认对齐:时间与操作区靠左(align 缺省即 left)。

回复点赞
李李四10 分钟前

align="right":时间右挤、操作区整组靠右。

回复点赞

align="left" | "right" 控制时间与操作区的对齐,纯 CSS 实现(逻辑属性,RTL 下自动翻转)。

引用与回复目标 ​

quote / reply 插槽(回复 @某人 场景)

王王五昨天 19:02回复 @李四
「这个设计在窄屏下的换行策略可以再讨论一下。」

同意,补充一个场景:操作区在窄屏换行时也应保持最小间距。

回复点赞

slot="reply" 展示回复目标(如「回复 @某人」),slot="quote" 展示被引用的原文;两者均为次级文本 + 左侧色边的克制样式,空插槽自动隐藏。

回复交互 ​

编辑器组合(点回复出输入框)

赵赵六1 小时前

组件自身不管编辑:点「回复」展开输入框,提交后由宿主把子评论插进默认插槽。

回复

演示 oas-comment + oas-textarea + oas-button 的 slot 动态组装:提交后插入的 <oas-comment> 走默认插槽,自动缩进并带引导线。

API ​

oas-comment ​

属性 ​

属性说明类型默认值
align时间与操作区对齐:left(默认)/ right(逻辑属性实现,RTL 自动翻转)——

插槽 ​

名称说明
默认嵌套的 oas-comment 子评论,自动缩进
actions操作区(回复/点赞等,由宿主提供)
author作者名
avatar作者头像(可放 oas-avatar)
content评论内容
quote引文区(正文前,次级文本色 + 左侧色边)
reply回复目标区(作者行下,「回复 @某人」场景)
time时间

CSS 变量 ​

CSS 变量默认值
--oas-comment-fontinherit

部件:::part(comment) 根、::part(main) 主体、::part(avatar)、::part(body) 内容列(内含 ::part(head) 头部行)、::part(author) / ::part(time) / ::part(reply) / ::part(quote) / ::part(content) / ::part(actions)、::part(children) 子评论容器。

基于 MIT OR Apache-2.0 双许可发布