Collapse 折叠面板

可以折叠/展开的内容区域。

何时使用#

  • 对复杂区域进行分组和隐藏,保持页面的整洁。
  • 手风琴 是一种特殊的折叠面板,只允许单个内容区域展开。

API#

Collapse#

参数 说明 类型 默认值
activeKey 当前激活 tab 面板的 key Array or String 默认无,accordion模式下默认第一个元素
defaultActiveKey 初始化选中面板的 key String
onChange 切换面板的回调 Function

Collapse.Panel#

参数 说明 类型 默认值
key 对应 activeKey String
header 面板头内容 React.Element or String

代码演示

import { Collapse } from 'antd';
const Panel = Collapse.Panel;

function callback(key) {
  console.log(key);
}

const text = `
  A dog is a type of domesticated animal.
  Known for its loyalty and faithfulness,
  it can be found as a welcome guest in many households across the world.
`;

ReactDOM.render(
  <Collapse defaultActiveKey={['1']} onChange={callback}>
    <Panel header="This is panel header 1" key="1">
      <p>{text}</p>
    </Panel>
    <Panel header="This is panel header 2" key="2">
      <p>{text}</p>
    </Panel>
    <Panel header="This is panel header 3" key="3">
      <p>{text}</p>
    </Panel>
  </Collapse>
, mountNode);

可以同时展开多个面板,这个例子默认展开了第一个。

import { Collapse } from 'antd';
const Panel = Collapse.Panel;

function callback(key) {
  console.log(key);
}

const text = `
  A dog is a type of domesticated animal.
  Known for its loyalty and faithfulness,
  it can be found as a welcome guest in many households across the world.
`;

ReactDOM.render(
  <Collapse onChange={callback} accordion>
    <Panel header={`This is panel header 1`} key="1">
      <Collapse defaultActiveKey="1">
        <Panel header={`This is panel nest panel`} key="1">
          <p>{text}</p>
        </Panel>
      </Collapse>
    </Panel>
    <Panel header={`This is panel header 2`} key="2">
      <p>{text}</p>
    </Panel>
    <Panel header={`This is panel header 3`} key="3">
      <p>{text}</p>
    </Panel>
  </Collapse>
, mountNode);

手风琴嵌套折叠面板。

import { Collapse } from 'antd';
const Panel = Collapse.Panel;

const text = `
  A dog is a type of domesticated animal.
  Known for its loyalty and faithfulness,
  it can be found as a welcome guest in many households across the world.
`;

ReactDOM.render(
  <Collapse accordion>
    <Panel header={`This is panel header 1`} key="1">
      <p>{text}</p>
    </Panel>
    <Panel header={`This is panel header 2`} key="2">
      <p>{text}</p>
    </Panel>
    <Panel header={`This is panel header 3`} key="3">
      <p>{text}</p>
    </Panel>
  </Collapse>
, mountNode);

手风琴,每次只打开一个tab。默认打开第一个。