ant-design/components/segmented/demo/custom.md
vagusX ae4e660a05
feat: add new component Segmented (#34319)
* feat: basic implements in antd

* feat: use rc-segmented

* feat: add some demos

* feat: support dark theme

* docs: add more demos

* feat: support `icon` in segmented

* docs: format content

* test: add test cases

* docs: update docs

* chore: update

* fix: lint issues

* style: add border-radius for selected effect

* style: change border-radius-base

* chore: update gitignore

* feat: segmented support block

* chore: update gitignore

* feat: support block

* feat: add test case

* feat: support size

* docs: update demos

* chore: update

* chore: update

* test: update

* style: update colors

* style: hover and focus styles

* doc: add version mark in docs

* fix: style lint issue

* fix: some lint issues

* doc: add version in demo mds

* doc: add version mark before api details

* Revert "doc: add version in demo mds"

This reverts commit 2a9e86f6ffc2331f7d73eae6edac7c889358a838.

* test: only test for thumb appear

* style: update color vars

* style: add transition

* style: text vertial align

* test: update snapshots

* feat: add preview svg and support dark theme

* fix: update test snapshot

* docs: update docs

* fix: remove useless z-index

* build: add 1kb for bundlesize of antd.variable.min.css

Co-authored-by: taian.lta <taian.lta@antgroup.com>
2022-04-11 11:13:16 +08:00

1.8 KiB

order title
1
zh-CN en-US
自定义渲染 Custom Render

zh-CN

使用 ReactNode 自定义渲染每一个 Segmented Item。

en-US

Custom each Segmented Item by ReactNode.

import { Avatar, Segmented } from 'antd';
import { UserOutlined } from '@ant-design/icons';

ReactDOM.render(
  <>
    <Segmented
      options={[
        {
          label: (
            <>
              <Avatar src="https://joeschmoe.io/api/v1/random" />
              <div>User 1</div>
            </>
          ),
          value: 'user1',
        },
        {
          label: (
            <>
              <Avatar style={{ backgroundColor: '#f56a00' }}>K</Avatar>
              <div>User 2</div>
            </>
          ),
          value: 'user2',
        },
        {
          label: (
            <>
              <Avatar style={{ backgroundColor: '#87d068' }} icon={<UserOutlined />} />
              <div>User 3</div>
            </>
          ),
          value: 'user3',
        },
      ]}
    />
    <br />
    <Segmented
      options={[
        {
          label: (
            <>
              <div>Spring</div>
              <div>Jan-Mar</div>
            </>
          ),
          value: 'spring',
        },
        {
          label: (
            <>
              <div>Summer</div>
              <div>Apr-Jun</div>
            </>
          ),
          value: 'summer',
        },
        {
          label: (
            <>
              <div>Autumn</div>
              <div>Jul-Sept</div>
            </>
          ),
          value: 'autumn',
        },
        {
          label: (
            <>
              <div>Winter</div>
              <div>Oct-Dec</div>
            </>
          ),
          value: 'winter',
        },
      ]}
    />
  </>,
  mountNode,
);