Statistic统计数值

展示统计数值。

何时使用

  • 当需要突出某个或某组数字时。

  • 当需要展示带描述的统计类数据时使用。

代码演示

Statistic统计数值 - 图1

基本

简单的展示。

  1. import { Statistic, Row, Col, Button } from 'antd';
  2. ReactDOM.render(
  3. <Row gutter={16}>
  4. <Col span={12}>
  5. <Statistic title="Active Users" value={112893} />
  6. </Col>
  7. <Col span={12}>
  8. <Statistic title="Account Balance (CNY)" value={112893} precision={2} />
  9. <Button style={{ marginTop: 16 }} type="primary">
  10. Recharge
  11. </Button>
  12. </Col>
  13. <Col span={12}>
  14. <Statistic title="Active Users" value={112893} loading />
  15. </Col>
  16. </Row>,
  17. mountNode,
  18. );

Statistic统计数值 - 图2

在卡片中使用

在卡片中展示统计数值。

  1. import { Statistic, Card, Row, Col } from 'antd';
  2. import { ArrowUpOutlined, ArrowDownOutlined } from '@ant-design/icons';
  3. ReactDOM.render(
  4. <div className="site-statistic-demo-card">
  5. <Row gutter={16}>
  6. <Col span={12}>
  7. <Card>
  8. <Statistic
  9. title="Active"
  10. value={11.28}
  11. precision={2}
  12. valueStyle={{ color: '#3f8600' }}
  13. prefix={<ArrowUpOutlined />}
  14. suffix="%"
  15. />
  16. </Card>
  17. </Col>
  18. <Col span={12}>
  19. <Card>
  20. <Statistic
  21. title="Idle"
  22. value={9.3}
  23. precision={2}
  24. valueStyle={{ color: '#cf1322' }}
  25. prefix={<ArrowDownOutlined />}
  26. suffix="%"
  27. />
  28. </Card>
  29. </Col>
  30. </Row>
  31. </div>,
  32. mountNode,
  33. );
  1. .site-statistic-demo-card {
  2. padding: 30px;
  3. background: #ececec;
  4. }

Statistic统计数值 - 图3

单位

通过前缀和后缀添加单位。

  1. import { Statistic, Row, Col } from 'antd';
  2. import { LikeOutlined } from '@ant-design/icons';
  3. ReactDOM.render(
  4. <Row gutter={16}>
  5. <Col span={12}>
  6. <Statistic title="Feedback" value={1128} prefix={<LikeOutlined />} />
  7. </Col>
  8. <Col span={12}>
  9. <Statistic title="Unmerged" value={93} suffix="/ 100" />
  10. </Col>
  11. </Row>,
  12. mountNode,
  13. );

Statistic统计数值 - 图4

倒计时

倒计时组件。

  1. import { Statistic, Row, Col } from 'antd';
  2. const { Countdown } = Statistic;
  3. const deadline = Date.now() + 1000 * 60 * 60 * 24 * 2 + 1000 * 30; // Moment is also OK
  4. function onFinish() {
  5. console.log('finished!');
  6. }
  7. function onChange(val) {
  8. if (4.95 * 1000 < val && val < 5 * 1000) {
  9. console.log('changed!');
  10. }
  11. }
  12. ReactDOM.render(
  13. <Row gutter={16}>
  14. <Col span={12}>
  15. <Countdown title="Countdown" value={deadline} onFinish={onFinish} />
  16. </Col>
  17. <Col span={12}>
  18. <Countdown title="Million Seconds" value={deadline} format="HH:mm:ss:SSS" />
  19. </Col>
  20. <Col span={24} style={{ marginTop: 32 }}>
  21. <Countdown title="Day Level" value={deadline} format="D 天 H 时 m 分 s 秒" />
  22. </Col>
  23. <Col span={12}>
  24. <Countdown title="Countdown" value={Date.now() + 10 * 1000} onChange={onChange} />
  25. </Col>
  26. </Row>,
  27. mountNode,
  28. );

API

Statistic

参数说明类型默认值版本
decimalSeparator设置小数点string.
formatter自定义数值展示(value) => ReactNode-
groupSeparator设置千分位标识符string,
loading数值是否加载中booleanfalse4.8.0
precision数值精度number-
prefix设置数值的前缀ReactNode-
suffix设置数值的后缀ReactNode-
title数值的标题ReactNode-
value数值内容string | number-
valueStyle设置数值的样式CSSProperties-

Statistic.Countdown

参数说明类型默认值版本
format格式化倒计时展示,参考 momentstringHH:mm:ss
prefix设置数值的前缀ReactNode-
suffix设置数值的后缀ReactNode-
title数值的标题ReactNode-
value数值内容number | moment-
valueStyle设置数值的样式CSSProperties-
onFinish倒计时完成时触发() => void-
onChange倒计时时间变化时触发(value: number) => void-4.16.0