Skip to content

Card

Card 是基于 Box 的区域化内容容器,适合承载信息块、详情区和轻量操作区。

Basic

Variant

variant 用于控制卡片在页面里的视觉层级。

Slots

Card 支持 headerfooterleft/rightstart/end(比 left/right 更规范的国际化用法) 与默认内容区。

State

hoverableselecteddisabled 适合可点击卡片、选择卡片和禁用态。

Loading

loading 作用于整张卡片,contentLoading 只作用于内容区。

Compound API

复杂结构可以使用 Card.HeaderCard.ContentCard.Footer 等组合式写法。

常见场景

基础展示

用于页面主体、列表项或卡片中直接展示 Card 的默认形态。

状态与数据驱动

当内容来自接口或业务状态时,优先把状态转换为组件 props,再交给 Card 渲染。

样式组合

需要贴近业务页面时,通过 classNameclassstylesx 做局部覆盖。

Usage

tsx
import { Card } from "@ldkj/web-ui";

function Example() {
  return (
    <Card
      variant="outlined"
      padding="md"
      divided
      hoverable
      header={<div>标题</div>}
      footer={<button>操作</button>}
      rounded="lg"
      shadow="sm"
    >
      内容
    </Card>
  );
}

API

Card 继承 Box 的基础能力,支持 componentroundedshadowloadingmodalsx 以及原生属性透传。

属性说明类型默认值
variant视觉变体'outlined' | 'elevated' | 'filled' | 'ghost''outlined'
padding区域内边距'none' | 'sm' | 'md' | 'lg''md'
divided区域分割线boolean | 'x' | 'y'true
hoverable是否启用 hover 反馈booleanfalse
selected是否选中booleanfalse
disabled是否禁用交互booleanfalse
header头部区域React.ReactNode-
footer底部区域React.ReactNode-
left左侧区域React.ReactNode-
right右侧区域React.ReactNode-
start起始侧区域,作为 left 的语义别名React.ReactNode-
end结束侧区域,作为 right 的语义别名React.ReactNode-
contentLoading内容区 loadingbooleanfalse
headerProps头部区域 Box 属性CardSlotProps-
footerProps底部区域 Box 属性CardSlotProps-
leftProps左侧区域 Box 属性CardSlotProps-
rightProps右侧区域 Box 属性CardSlotProps-
startProps起始侧区域 Box 属性CardSlotProps-
endProps结束侧区域 Box 属性CardSlotProps-
contentProps内容区域 Box 属性CardSlotProps-
children内容区节点,或 compound 子组件React.ReactNode-

Compound API

子组件说明
Card.Header头部区域
Card.Content内容区域
Card.Footer底部区域
Card.Left左侧区域
Card.Right右侧区域
Card.Start起始侧区域
Card.End结束侧区域

行为规则 / 优先级

  • 数据展示组件只负责渲染当前输入,不在内部请求数据。
  • classNameclass 用于追加类名;如同时传入原生 style,内联样式会按 React 规则覆盖同名 CSS。
  • 复杂内容优先通过组合能力传入,避免在组件内部硬编码业务文案。
  • Card 的默认值应服务于最常见场景,特殊场景通过显式 props 覆盖。

Notes

  • 注意空态、长文本、加载中和错误态,必要时配合 Skeleton、Empty 或 Alert。
  • 文档 demo 展示的是推荐组合方式;生产代码中可按业务密度调整间距和尺寸。
  • 修改组件能力时需要同步更新本页 Demo、Usage、API 与行为规则。