Badge 徽标数

图标右上角的红点、数字或者文字。用于告知用户,该区域的状态变化或者待处理任务的数量。

规则

  • 当用户有必要知晓每条更新时,应该使用数字型,eg:社交中的一对一的消息通知。

  • 当用户只需知道大致有内容更新时,应该使用红点型,eg:社交中的群消息通知。

代码演示

基本

简单的徽章展示。

  1. import { Badge } from 'antd-mobile';
  2. ReactDOM.render(
  3. <div className="badge-container" style={{ padding: '40px 16px' }}>
  4. <Badge text={9}>
  5. <span className="head-example" />
  6. </Badge>
  7. <p style={{ marginBottom: 20 }} />
  8. <Badge text={'new'}>
  9. <span className="head-example" />
  10. </Badge>
  11. </div>
  12. , mountNode);

小红点

只有个小红点,没有具体数字

  1. import { Badge } from 'antd-mobile';
  2. ReactDOM.render(
  3. <div className="badge-container" style={{ padding: '40px 16px' }}>
  4. <Badge dot>
  5. <span className="dot-example" />
  6. </Badge>
  7. </div>
  8. , mountNode);
  1. .dot-example {
  2. width: 0.56rem;
  3. height: 0.56rem;
  4. background: #ddd;
  5. display: inline-block;
  6. }

大数字

数字大于99,会显示 99+
  1. import { Badge } from 'antd-mobile';ReactDOM.render( <div className="badge-container" style={{ padding: '40px 16px' }}> <Badge text={99}> <span className="head-example" /> </Badge> <p style={{ marginBottom: 20 }} /> <Badge text={108}> <span className="head-example" /> </Badge> </div>, mountNode);

综合示例

结合列表的案例参考

  1. import { List, Badge } from 'antd-mobile';
  2. ReactDOM.render(
  3. <div className="badge-container">
  4. <form>
  5. <List>
  6. <List.Header>列表</List.Header>
  7. <List.Body>
  8. <List.Item extra="内容内容">
  9. 文本内容<Badge dot style={{ marginLeft: 12 }} />
  10. </List.Item>
  11. <List.Item extra="内容内容" arrow="horizontal">
  12. 文本内容<Badge text={'new'} style={{ marginLeft: 12 }} />
  13. </List.Item>
  14. <List.Item extra="内容内容" arrow="horizontal">
  15. 文本内容<Badge text={4} style={{ marginLeft: 12 }} />
  16. </List.Item>
  17. <List.Item extra="内容内容" arrow="horizontal">
  18. 文本内容<Badge text={100} style={{ marginLeft: 12 }} />
  19. </List.Item>
  20. </List.Body>
  21. </List>
  22. <List>
  23. <List.Header>带icon</List.Header>
  24. <List.Body>
  25. <List.Item extra="内容内容" arrow="horizontal">
  26. <Badge dot>
  27. <span style={{ width: '0.52rem', height: '0.52rem', background: '#ddd', display: 'inline-block' }} />
  28. </Badge>
  29. <span style={{ marginLeft: 12 }}>小圆点</span>
  30. </List.Item>
  31. <List.Item
  32. thumb="https://zos.alipayobjects.com/rmsportal/faMhXAxhCzLvveJ.png"
  33. extra={<Badge text={77} />}
  34. arrow="horizontal"
  35. >
  36. 右侧内容
  37. </List.Item>
  38. </List.Body>
  39. </List>
  40. <List>
  41. <List.Header>大号icon</List.Header>
  42. <List.Body>
  43. <List.Item extra="内容内容" arrow="horizontal">
  44. <Badge text={9}>
  45. <span style={{ width: '1.04rem', height: '1.04rem', background: '#ddd', display: 'inline-block' }} />
  46. </Badge>
  47. <span style={{ marginLeft: 12 }}>数字</span>
  48. </List.Item>
  49. <List.Item extra="内容内容" arrow="horizontal">
  50. <Badge text={108}>
  51. <span style={{ width: '1.04rem', height: '1.04rem', background: '#ddd', display: 'inline-block' }} />
  52. </Badge>
  53. <span style={{ marginLeft: 12 }}>超出99</span>
  54. </List.Item>
  55. </List.Body>
  56. </List>
  57. </form>
  58. </div>
  59. , mountNode);
  1. .head-example {
  2. width: 1.04rem;
  3. height: 1.04rem;
  4. background: #ddd;
  5. display: inline-block;
  6. }

Badge徽标数 - 图1

API

成员说明类型默认值
text展示的数字或文案,当为数字时候,大于 overflowCount 时显示为 ${overflowCount}+,为 0 时隐藏String|Number-
dot不展示数字,只有一个小红点Booleanfalse
overflowCount展示封顶的数字值Number99