Tree 设计文档

树形控件(严格对齐 Semi):层级展示节点,支持展开/收起、单选/多选(multiple 驱动 checkbox 父子联动含半选 mixed)、内置搜索高亮。值通道统一走 value/onChange。受控 value/expandedKeys 均不回写,仅通过 onChange/onExpand/onSelect/onSearch 通知。键盘导航遵循 WAI-ARIA APG Tree View(单一 tab stop + aria-activedescendant)。

← API 文档

使用建议

树形控件(严格对齐 Semi):层级展示节点,支持展开/收起、单选/多选(multiple 驱动 checkbox 父子联动含半选 mixed)、内置搜索高亮。值通道统一走 value/onChange。受控 value/expandedKeys 均不回写,仅通过 onChange/onExpand/onSelect/onSearch 通知。键盘导航遵循 WAI-ARIA APG Tree View(单一 tab stop + aria-activedescendant)。

Accessibility

  • role=tree(aria-multiselectable=multiple)容器为单一 tab stop,焦点通过 aria-activedescendant 指向当前高亮 treeitem;每行 role=treeitem 含 aria-level/setsize/posinset/expanded/disabled,单选时 aria-selected、多选时 aria-checked 支持 true/false/"mixed"(半选)。方向键导航:↑↓ 移动、→ 展开/进入子、← 折叠/回父、Home/End 首末、Enter 选中、Space 勾选或选中。

设计变量

变量默认值用法
--cd-color-tree-option-bg-active var(--cd-color-primary-light-default)树选项选中/激活背景($color-tree_option-bg-active)
--cd-color-tree-option-bg-hover var(--cd-color-fill-0)树选项悬停背景($color-tree_option-bg-hover)
--cd-color-tree-option-disabled-text-default var(--cd-color-disabled-text)禁用树选项文字颜色($color-tree_option_disabled-text-default)
--cd-color-tree-option-draggable-insert-border-default var(--cd-color-primary)可拖拽插入指示线颜色($color-tree_option_draggable_insert-border-default)
--cd-color-tree-option-highlight-text var(--cd-color-primary)搜索命中高亮文本色($color-tree_option_hightlight-text)
--cd-color-tree-option-icon-active var(--cd-color-black)展开图标按下色($color-tree_option-icon-active)
--cd-color-tree-option-icon-default var(--cd-color-text-2)展开箭头 / 节点图标颜色($color-tree_option-icon-default)
--cd-color-tree-option-icon-hover var(--cd-color-text-0)展开图标悬停色($color-tree_option-icon-hover)
--cd-color-tree-option-line var(--cd-color-text-3)showLine 连接线颜色(Semi 用 --semi-color-text-3)
--cd-color-tree-option-loading-icon-default var(--cd-color-primary)树选项加载 spin 颜色($color-tree_option_loading-icon-default)