• 简体中文
  • Collapse 折叠面板

    展开或收起一组内容。

    基础用法

    交互预览基础用法

    Leaf Garden 的项目信息。

    basic.tsx
    import { Collapse, type CollapseItem, Input } from '@sudden3/leaf-ui';
    
    const items: CollapseItem[] = [
      { key: 'about', label: '项目介绍', children: <p>Leaf Garden 的项目信息。</p> },
      {
        key: 'settings',
        label: '设置',
        children: <Input aria-label="项目名称" placeholder="输入后折叠,内容会保留" />,
      },
      { key: 'archived', label: '已归档', children: null, disabled: true },
    ];
    export function CollapseBasic() {
      return (
        <div className="leaf-demo-stack leaf-demo-stack--wide">
          <Collapse items={items} defaultActiveKey="about" />
          <Collapse items={items} accordion size="sm" />
        </div>
      );
    }
    

    Collapse API

    属性类型默认值说明
    itemsreadonly CollapseItem[]必填面板列表
    activeKey / defaultActiveKeystring | readonly string[][]受控展开项 / 初始展开项
    onChange(keys: string[]) => void—展开项变化
    accordionbooleanfalse同时只展开一个面板
    borderedbooleantrue显示边框
    size'sm' | 'md' | 'lg''md'标题尺寸
    destroyInactivebooleanfalse收起后销毁内容

    CollapseItem

    属性类型默认值说明
    keystring必填唯一标识
    label / childrenReactNode必填标题 / 面板内容
    disabledbooleanfalse禁止切换该面板
    extraReactNode—标题旁的内容

    类型

    定义组件属性或组装列表时可导入相关类型。

    import type { CollapseProps, CollapseItem } from '@sudden3/leaf-ui';

    使用说明

    访问过的内容默认保留。方向键、Home 和 End 在标题之间移动,Enter 或空格展开。extra 中的操作不会触发展开。