Card 卡片

如果项目中使用的是 0.x 版本的基础组件(@icedesign/base, @ali/ice, @alife/next),请在左侧导航顶部切换组件版本。

安装方法

  1. 在命令行中执行以下命令npm install @alifd/next@latest -S

Guide

一个通用的卡片组件。

何时使用

当一个模块的同类信息不能自然形成区块感,可借助 Card 组件将信息整合,帮助界面信息模块感更强。

API

Card

参数说明类型默认值
title卡片的标题ReactNode-
subTitle卡片的副标题ReactNode-
showTitleBullet是否显示标题的项目符号Booleantrue
showHeadDivider是否展示头部的分隔线Booleantrue
contentHeight内容区域的固定高度String/Number120
extra标题区域的用户自定义内容ReactNode-

代码示例

基本

最简单的用法。

Card 卡片 - 图1

查看源码在线预览

  1. import { Card } from '@alifd/next';
  2. const commonProps = {
  3. style: { width: 300 },
  4. subTitle: 'SubTitle',
  5. extra: 'Link'
  6. };
  7. ReactDOM.render(<div>
  8. <Card {...commonProps} title="Simple Card">
  9. <div className="card-placeholder"></div>
  10. </Card>
  11. </div>, mountNode);
  1. .card-placeholder {
  2. height: 500px;
  3. text-align: center;
  4. background: #F7F8FA;
  5. }

自定义内容高度

可以通过 contentHeight 属性自定义内容区的高度。例如取值为 auto 的时候会默认关闭卡片的收缩效果。

Card 卡片 - 图2

查看源码在线预览

  1. import { Card } from '@alifd/next';
  2. const commonProps = {
  3. style: { width: 300 },
  4. title: 'Title',
  5. subTitle: 'Sub-title'
  6. };
  7. ReactDOM.render(<div>
  8. <Card {...commonProps} contentHeight="auto">
  9. <div className="custom-content">
  10. <p>Card content</p>
  11. <p>Card content</p>
  12. <p>Card content</p>
  13. <p>Card content</p>
  14. <p>Card content</p>
  15. </div>
  16. </Card>
  17. &nbsp;&nbsp;
  18. <Card {...commonProps} contentHeight={200}>
  19. <div className="custom-content">
  20. <p>Card content</p>
  21. <p>Card content</p>
  22. <p>Card content</p>
  23. <p>Card content</p>
  24. <p>Card content</p>
  25. </div>
  26. </Card>
  27. </div>, mountNode);
  1. .custom-content p {
  2. margin: 0;
  3. }

自定义卡片样式

如果默认的卡片样式不能满足您的需求,除了通过 Fusion 配置平台修改,还可以通过传入自定义样式修改。如果 title 属性不传入任何值,则默认会去除整个头部区域。

Card 卡片 - 图3

查看源码在线预览

  1. import { Card } from '@alifd/next';
  2. ReactDOM.render(<Card className="image-card" contentHeight="auto">
  3. <img src="https://img.alicdn.com/tfs/TB1FNIOSFXXXXaWXXXXXXXXXXXX-260-188.png" alt="father day" />
  4. <div className="custom-card">
  5. <h3>Father's Day</h3>
  6. <p>Thank you, papa</p>
  7. </div>
  8. </Card>, mountNode);
  1. .image-card {
  2. display: inline-block;
  3. text-align: center;
  4. }
  5. .custom-card p {
  6. color: #999;
  7. }

标题无项目符号

可以通过配置 hasTitleBullet 属性配置卡片标题是否显示项目符号。此外,extra 允许用户传入自定义的 React 组件。

Card 卡片 - 图4

查看源码在线预览

  1. import { Card, Button } from '@alifd/next';
  2. const commonProps = {
  3. style: { width: 300 },
  4. title: 'Title',
  5. extra: <Button text>More</Button>
  6. };
  7. ReactDOM.render(<div>
  8. <Card {...commonProps} showTitleBullet={false}>
  9. Card Content
  10. </Card>
  11. </div>, mountNode);

隐藏头部下划线

可以通过设置 showHeadDivider={false} 隐藏头部下划线。

Card 卡片 - 图5

查看源码在线预览

  1. import { Card } from '@alifd/next';
  2. const commonProps = {
  3. title: 'Title',
  4. style: { width: 300 },
  5. subTitle: 'Sub-title',
  6. extra: 'Link'
  7. };
  8. ReactDOM.render(<div>
  9. <Card {...commonProps} showHeadDivider={false}>
  10. <div className="card-placeholder"></div>
  11. </Card>
  12. </div>, mountNode);
  1. .card-placeholder {
  2. height: 500px;
  3. text-align: center;
  4. background: #F7F8FA;
  5. }

相关区块

Card 卡片 - 图6

暂无相关区块