组件 · 数据展示
Card 卡片
分组内容容器:标题、描述、额外区、正文与操作区;适合设置页与详情信息块。
使用建议
- 避免:为装饰堆叠多层卡片阴影
- 限制:未标 stable
引入
import {
Card,
CardActions,
CardBody,
CardClose,
CardCollapseTrigger,
CardContent,
// …共 12 个导出
} from '@selrux/ui/card';演练场
调节下方可实现的字面量属性,实时预览真实组件。函数、Portal、样式逃生口等见代码演示与 API 表。
通知设置
选择接收提醒的方式
代码演示
基础用法
Header(标题、描述、附加区)+ Body(内容、页脚、操作)。
通知设置
选择接收提醒的方式
外观
variant 为 outlined / borderless / embedded;dividers 控制分隔线。
outlined
borderless
embedded
可折叠与加载
collapsible 在标题栏加入折叠按钮;loading 显示占位。
可折叠卡片
加载中
尺寸与图标
size 控制内边距与字号;CardTitle 的 icon 放标题前的装饰图标。
size="sm"
size="md"
size="lg"
受控折叠与关闭
collapsed + onCollapsedChange 受控折叠,unmountOnCollapse 折叠时卸载正文;传 onClose 时显示关闭按钮,卡片不会自动移除,由调用方决定。
筛选条件
collapsed = false
滚动与固定操作区
限高时 CardContent 的 scrollable 让正文滚动,fixedActions 固定底部操作;loadingFallback 为加载中占位。
操作日志
10:00 管理员修改了权限配置
10:01 管理员修改了权限配置
10:02 管理员修改了权限配置
10:03 管理员修改了权限配置
10:04 管理员修改了权限配置
10:05 管理员修改了权限配置
10:06 管理员修改了权限配置
10:07 管理员修改了权限配置
10:08 管理员修改了权限配置
10:09 管理员修改了权限配置
10:10 管理员修改了权限配置
10:11 管理员修改了权限配置
加载中
API
属性覆盖:示例用到 15 / 15 个自有属性(100%)
由 scripts/demo-coverage.mjs 统计,不含 className / style / 原生透传属性与纯转发事件。
Card.collapseFocusRef:焦点目标 ref,效果不可见;行为见“无障碍”
Card
解析本域尺寸和外观;行为状态唯一保留在 headless。
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
collapsible | 是否启用折叠;默认 false。 | boolean | false |
unmountOnCollapse | 折叠后卸载 Body 子树;默认保留。 | boolean | - |
loading | 替换 Content 内容,保留 Header 和操作区。 | boolean | - |
fixedActions | 限高时固定底部 Actions(及 Footer),仅 Content 滚动;默认 false。 高度由调用方 maxBlockSize 或父级约束提供。 | boolean | false |
onCollapsedChange | 折叠请求;受控父级可以拒绝。 | ((collapsed: boolean) => void) | - |
onClose | 关闭请求,不自动移除卡片。 | ((event: MouseEvent<HTMLButtonElement>) => void) | - |
collapseFocusRef | 隐藏内容前的备用焦点目标,应位于本卡 Header。 | RefObject<HTMLElement | null> | - |
collapsed | - | boolean | - |
defaultCollapsed | - | boolean | - |
size | - | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | - |
variant | - | "outlined" | "borderless" | "embedded" | - |
dividers | - | "none" | "all" | "content" | - |
另有 278 项原生属性与事件继承自 HTMLAttributes,原样透传。
CardActions
为 CardActions 添加局部样式类,原生属性和 ref 保留在真实节点。
无自有属性;其余 279 项原生属性继承自 HTMLAttributes。
CardBody
为 CardBody 添加局部样式类,原生属性和 ref 保留在真实节点。
无自有属性;其余 276 项原生属性继承自 HTMLAttributes。
CardClose
为 CardClose 添加局部样式类,原生属性和 ref 保留在真实节点。
无自有属性;其余 288 项原生属性继承自 ButtonHTMLAttributes / HTMLAttributes。
CardCollapseTrigger
为 CardCollapseTrigger 添加局部样式类,原生属性和 ref 保留在真实节点。
无自有属性;其余 286 项原生属性继承自 ButtonHTMLAttributes / HTMLAttributes。
CardContent
为 CardContent 添加局部样式类,原生属性和 ref 保留在真实节点。
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
loadingFallback | - | ReactNode | - |
scrollable | 必须通过局部 CSS/style 提供高度约束。 | boolean | - |
另有 278 项原生属性与事件继承自 HTMLAttributes,原样透传。
CardCover
为 CardCover 添加局部样式类,原生属性和 ref 保留在真实节点。
无自有属性;其余 279 项原生属性继承自 HTMLAttributes。
CardDescription
为 CardDescription 添加局部样式类,原生属性和 ref 保留在真实节点。
无自有属性;其余 279 项原生属性继承自 HTMLAttributes。
CardExtra
为 CardExtra 添加局部样式类,原生属性和 ref 保留在真实节点。
无自有属性;其余 279 项原生属性继承自 HTMLAttributes。
CardFooter
为 CardFooter 添加局部样式类,原生属性和 ref 保留在真实节点。
无自有属性;其余 279 项原生属性继承自 HTMLAttributes。
CardHeader
为 CardHeader 添加局部样式;主列放标题/描述,Extra 固定在逻辑末端。
无自有属性;其余 279 项原生属性继承自 HTMLAttributes。
CardTitle
为 CardTitle 添加局部样式类;截断时指针悬停展示完整标题。
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
level | 默认 h2,由页面作者显式设置层级。 | 1 | 2 | 3 | 4 | 5 | 6 | h2 |
icon | 标题前的装饰图标,可传 Icon/SVG;不应包含交互控件,名称由标题文字提供。 | ReactNode | - |
另有 279 项原生属性与事件继承自 HTMLAttributes,原样透传。
导出类型:CardActionsProps、CardBodyProps、CardCloseProps、CardCollapseTriggerProps、CardContentProps、CardCoverProps、CardDescriptionProps、CardDividers、CardExtraProps、CardFooterProps、CardHeaderProps、CardProps、CardSize、CardTitleProps、CardVariant
无障碍
摘自源码 JSDoc。
Card.collapseFocusRef:隐藏内容前的备用焦点目标,应位于本卡 Header。