iter(g61): tree 支持勾选多选与父子级联
This commit is contained in:
+19
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"$schema": "ui-arch-registry-index/0.1",
|
||||
"generatedAt": "2026-10-26T04:24:59.738Z",
|
||||
"generatedAt": "2026-10-26T04:26:29.979Z",
|
||||
"repoRoot": ".",
|
||||
"packages": [
|
||||
{
|
||||
@@ -1936,6 +1936,21 @@
|
||||
"t": "(node: TreeNode) => void",
|
||||
"k": 1,
|
||||
"d": "选中回调:点击标签或 Enter/空格触发"
|
||||
},
|
||||
{
|
||||
"n": "multi",
|
||||
"t": "boolean",
|
||||
"d": "是否显示勾选框并开启多选;缺省 false"
|
||||
},
|
||||
{
|
||||
"n": "checked",
|
||||
"t": "Signal<string[]>",
|
||||
"d": "勾选 key 集合(multi 时生效);不传则内部维护"
|
||||
},
|
||||
{
|
||||
"n": "onCheck",
|
||||
"t": "(keys: string[]) => void",
|
||||
"d": "勾选变更回调(父子已级联,传副本)"
|
||||
}
|
||||
],
|
||||
"example": "const sel = signal(''); tree({ nodes: [{ key: 'src', label: 'src', children: [{ key: 'ui', label: 'ui' }] }], selected: sel, onSelect: (n) => console.log(n.key) })",
|
||||
@@ -1944,7 +1959,9 @@
|
||||
"传 selected 信号即可外部受控;不传则组件内部维护选中态",
|
||||
"点箭头只展开/收起,点标签才选中;叶子节点箭头位置留空以对齐",
|
||||
"键盘:↑↓ 在可见节点间移动、Home/End 到首末行(只移动焦点),Enter/空格 选中、→ 展开、← 收起;disabled 节点点击与键盘都不响应",
|
||||
"defaultExpandAll 首屏展开全部分支(外部已给 expanded 初值时以外部为准)"
|
||||
"defaultExpandAll 首屏展开全部分支(外部已给 expanded 初值时以外部为准)",
|
||||
"multi: true 时每行前置勾选框:勾父级下钻全选子孙(跳过禁用项),子孙全选后父级自动上勾、部分勾选显示半选",
|
||||
"勾选框点击不触发选中(stopPropagation),键盘在多选模式下 Enter/空格改为切换勾选"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user