iter(g93): 树形组件支持按标签搜索

This commit is contained in:
HIsheR
2026-10-26 13:12:28 +08:00
parent 1b106168a7
commit 90bba1c0b6
8 changed files with 83 additions and 9 deletions
+8
View File
@@ -1100,6 +1100,14 @@
"acceptance": "BadgeProps 新增 count / max / dot,label 改为可选;count 超过 max(缺省 99)显示 N+,负数归零;dot 渲染 8px 圆点并以 role=img + label 作可访问名;新增样式只消费 --ua-* 令牌;文档与演示(三种形态)同步;npm run check 全绿",
"notes": "自补:组件能力补齐;保持纯展示、无内部状态",
"status": "done"
},
{
"id": "g93",
"title": "树形组件支持按标签搜索",
"motivation": "节点一多(如目录树、组织架构)就只能靠展开逐层找;tree 只有展开/收起与方向键,没有任何过滤入口,几十个节点等于不可用",
"acceptance": "TreeProps 新增 searchable:顶部搜索框按标签包含匹配(大小写不敏感),命中节点连同父链保留、命中枝临时强制展开,不命中整枝隐藏且不参与 ↑↓ 遍历(visibleRows 改判 [hidden]);搜索框放在 role=tree 之外避免语义混淆;文档与演示同步;tree ≤ 200 行;npm run check 全绿",
"notes": "自补:可用性;搜索只改视图显隐,不回写 expanded 信号,退出搜索即恢复用户原有展开态",
"status": "open"
}
]
}
+8 -2
View File
@@ -1,6 +1,6 @@
{
"$schema": "ui-arch-registry-index/0.1",
"generatedAt": "2026-10-26T05:11:11.108Z",
"generatedAt": "2026-10-26T05:12:11.001Z",
"repoRoot": ".",
"packages": [
{
@@ -2106,6 +2106,11 @@
"t": "boolean",
"d": "首屏展开全部分支;缺省 false"
},
{
"n": "searchable",
"t": "boolean",
"d": "顶部搜索框:按标签过滤,命中节点保留父链并自动展开;缺省 false"
},
{
"n": "onSelect",
"t": "(node: TreeNode) => void",
@@ -2136,7 +2141,8 @@
"键盘:↑↓ 在可见节点间移动、Home/End 到首末行(只移动焦点),Enter/空格 选中、→ 展开、← 收起;disabled 节点点击与键盘都不响应",
"defaultExpandAll 首屏展开全部分支(外部已给 expanded 初值时以外部为准)",
"multi: true 时每行前置勾选框:勾父级下钻全选子孙(跳过禁用项),子孙全选后父级自动上勾、部分勾选显示半选",
"勾选框点击不触发选中(stopPropagation),键盘在多选模式下 Enter/空格改为切换勾选"
"勾选框点击不触发选中(stopPropagation),键盘在多选模式下 Enter/空格改为切换勾选",
"节点多时开 searchable:输入即过滤,命中节点连同父链一起显示,隐藏的枝不参与方向键遍历"
]
},
{