Transfer 设计文档
穿梭框,双栏列表间移动条目,支持多选、移动按钮、本地搜索过滤、分组(groupList)、树状源面板(treeList)、单向迁移(oneWay)、目标列拖拽重排(draggable)、虚拟化(virtualize)与远程搜索(onSearch)。
← API 文档使用建议
穿梭框,双栏列表间移动条目,支持多选、移动按钮、本地搜索过滤、分组(groupList)、树状源面板(treeList)、单向迁移(oneWay)、目标列拖拽重排(draggable)、虚拟化(virtualize)与远程搜索(onSearch)。
Accessibility
ARIA role:group
- 容器 role=group;每侧平铺列表 role=listbox + aria-multiselectable,aria-labelledby 指向栏标题
- 条目 role=option + aria-selected + aria-disabled,roving tabindex(每个 listbox 单一 Tab 停靠点)
- 列内键盘:↑↓ 漫游、Home/End 跳首末、Space 切换勾选、Shift+↑↓/Shift+Click 范围选择、Enter 移动到对侧
- 移动后焦点保留在源列表相邻 option;移动经 useLiveAnnouncer 播报
- 移动按钮有 aria-label;分组/树面板保留原 Checkbox 语义
设计变量
| 变量 | 默认值 | 用法 |
|---|---|---|
--cd-color-transfer-close-icon-icon | var(--cd-color-text-2) | 穿梭框关闭按钮颜色 |
--cd-color-transfer-empty-text | var(--cd-color-text-2) | 穿梭框空状态文字颜色 |
--cd-color-transfer-group-title-text | var(--cd-color-text-2) | 穿梭框分组标题文字颜色 |
--cd-color-transfer-header-text | var(--cd-color-text-2) | 穿梭框 header 文字颜色 |
--cd-transfer-item-bg-checked | var(--cd-color-primary-light-default) | 选项行 aria-selected 背景(组件消费) |
--cd-transfer-item-bg-hover | var(--cd-color-fill-0) | 条目悬浮背景(组件消费) |
--cd-transfer-item-disabled-text | var(--cd-color-disabled-text) | 禁用选项行文字(组件消费) |
--cd-transfer-panel-border | var(--cd-color-border) | 面板描边(组件消费) |
--cd-transfer-panel-header-bg | var(--cd-color-fill-0) | 面板头部背景(组件消费) |