Badge 徽标数

图标右上角的圆形徽标数字。

何时使用

一般出现在通知图标或头像的右上角,用于显示需要处理的消息条数,通过醒目视觉形式吸引用户处理。

代码演示

基本

简单的徽章展示,当 count0 时,默认不显示,但是可以使用 showZero 修改为显示。

Badge徽标数 - 图1

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Badge } from 'choerodon-ui';
  4. ReactDOM.render(
  5. <div>
  6. <Badge count={5}>
  7. <a href="#" className="head-example" />
  8. </Badge>
  9. <Badge count={0} showZero>
  10. <a href="#" className="head-example" />
  11. </Badge>
  12. </div>,
  13. document.getElementById('container'));

独立使用

不包裹任何元素即是独立使用,可自定样式展现。

在右上角的 badge 则限定为红色。

Badge徽标数 - 图2

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Badge } from 'choerodon-ui';
  4. ReactDOM.render(
  5. <div>
  6. <Badge count={25} />
  7. <Badge count={4} style={{ backgroundColor: '#fff', color: '#999', boxShadow: '0 0 0 1px #d9d9d9 inset' }} />
  8. <Badge count={109} style={{ backgroundColor: '#52c41a' }} />
  9. </div>,
  10. document.getElementById('container'));

封顶数字

超过 overflowCount 的会显示为 ${overflowCount}+,默认的 overflowCount99

Badge徽标数 - 图3

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Badge } from 'choerodon-ui';
  4. ReactDOM.render(
  5. <div>
  6. <Badge count={99}>
  7. <a href="#" className="head-example" />
  8. </Badge>
  9. <Badge count={100}>
  10. <a href="#" className="head-example" />
  11. </Badge>
  12. <Badge count={99} overflowCount={10}>
  13. <a href="#" className="head-example" />
  14. </Badge>
  15. <Badge count={1000} overflowCount={999}>
  16. <a href="#" className="head-example" />
  17. </Badge>
  18. </div>,
  19. document.getElementById('container'));

文字提示红点

没有具体的数字。

Badge徽标数 - 图4

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Badge, Icon } from 'choerodon-ui';
  4. ReactDOM.render(
  5. <div>
  6. <Badge dot>
  7. <Icon type="notification" />
  8. </Badge>
  9. <Badge count={0} dot>
  10. <Icon type="notification" />
  11. </Badge>
  12. <Badge dot>
  13. <a href="#">Link something</a>
  14. </Badge>
  15. </div>,
  16. document.getElementById('container'));

可点击

用 a 标签进行包裹即可。

Badge徽标数 - 图5

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Badge } from 'choerodon-ui';
  4. ReactDOM.render(
  5. <a href="#">
  6. <Badge count={5}>
  7. <span className="head-example" />
  8. </Badge>
  9. </a>,
  10. document.getElementById('container'));

动态

展示动态变化的效果。

Badge徽标数 - 图6

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Badge, Button, Icon, Switch } from 'choerodon-ui';
  4. const ButtonGroup = Button.Group;
  5. class Demo extends React.Component {
  6. state = {
  7. count: 5,
  8. show: true,
  9. };
  10. increase = () => {
  11. const count = this.state.count + 1;
  12. this.setState({ count });
  13. };
  14. decline = () => {
  15. let count = this.state.count - 1;
  16. if (count < 0) {
  17. count = 0;
  18. }
  19. this.setState({ count });
  20. };
  21. onChange = (show) => {
  22. this.setState({ show });
  23. };
  24. render() {
  25. return (
  26. <div>

状态点

用于表示状态的小圆点。

Badge徽标数 - 图7

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Badge } from 'choerodon-ui';
  4. ReactDOM.render(
  5. <div>
  6. <Badge status="success" />
  7. <Badge status="error" />
  8. <Badge status="default" />
  9. <Badge status="processing" />
  10. <Badge status="warning" />
  11. <br />
  12. <Badge status="success" text="Success" />
  13. <br />
  14. <Badge status="error" text="Error" />
  15. <br />
  16. <Badge status="default" text="Default" />
  17. <br />
  18. <Badge status="processing" text="Processing" />
  19. <br />
  20. <Badge status="warning" text="Warning" />
  21. </div>,
  22. document.getElementById('container'));

API

  1. <Badge count={5}>
  2. <a href="#" className="head-example" />
  3. </Badge>
  4. <Badge count={5} />
参数说明类型默认值
count展示的数字,大于 overflowCount 时显示为 ${overflowCount}+,为 0 时隐藏number|ReactNode
dot不展示数字,只有一个小红点booleanfalse
offset设置状态点的位置偏移,格式为 [x, y][number, number]-
overflowCount展示封顶的数字值number99
showZero当数值为 0 时,是否展示 Badgebooleanfalse
status设置 Badge 为状态点Enum{ ‘success’, ‘processing, ‘default’, ‘error’, ‘warning’ }‘’
text在设置了 status 的前提下有效,设置状态点的文本string‘’