组件内置了部分支持无障碍, 但是额外需要开发者手动事情才能完整支持无障碍: 给Collapse传入一个id, 组件会根据Collapse的id自动给每一个Panel生成Id。如果你想指定Panel的Id也可以, 给某个Panel传入Id属性,就会覆盖根据CollapseId生成的Id。
参数 | 说明 | 类型 | 默认值 | 是否必填 |
---|---|---|---|---|
dataSource | 使用数据模型构建 | Array<DataItem> | - | |
defaultExpandedKeys | 默认展开 keys | KeyType[] | - | |
expandedKeys | 受控展开 keys | KeyType[] | - | |
onExpand | 展开状态发升变化时候的回调 | (expandedKeys: KeyType | KeyType[]) => void | - | |
disabled | 所有禁用 | boolean | - | |
accordion | 手风琴模式,一次只能打开一个 | boolean | false |
参数 | 说明 | 类型 | 默认值 | 是否必填 |
---|---|---|---|---|
disabled | 是否禁止用户操作 | boolean | - | |
title | 标题 | React.ReactNode | - | |
isExpanded | 是否展开 | boolean | false | |
onClick | 点击回调函数 | | ((e: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>) => void) | null |
- |
export type KeyType = string | number;
export type DataItem = {
id?: string;
title?: React.ReactNode;
content?: React.ReactNode;
disabled?: boolean;
key?: KeyType;
onClick?: (key: KeyType) => void;
[propName: string]: unknown;
};
按键 | 说明 |
---|---|
Tab | 切换到下一个 collapse panel |
Space | 切换 collapse 的折叠状态 |