This commit is contained in:
oneao committed 2026-10-09 17:32:14 +08:00
1 parent e99a9fb274
commit 0be0b0767a
788 files changed
+112023 -14941

No files matched your search

@@ -35,7 +35,6 @@ import {
getNodeChildren,
getNodeKey,
getParentKeys,
isLeafNode,
resolveFieldNames,
} from './utils'
@@ -564,27 +563,6 @@ onBeforeUnmount(() => {
closeMenu()
})
/* ---------- 叶子占位 ----------
缩进占位只对「同一批兄弟里存在可展开节点」的叶子有意义:整层都是叶子时
再空出一块就是白占位置(右键菜单示例里两个节点都没有子节点,却各留一格)。
懒加载下「未加载过」的节点算可展开,占位保留 —— 展开后那里要放箭头。 */
const placeholderLeaves = computed(() => {
const set = new Set<string>()
const leafOptions = { lazy: props.lazy, loadedSet: loadedModel.set.value }
const walk = (nodes: TreeNodeData[]) => {
const hasExpandable = nodes.some((node) => !isLeafNode(node, fieldNames.value, leafOptions))
for (const node of nodes) {
if (hasExpandable && isLeafNode(node, fieldNames.value, leafOptions)) {
set.add(String(getNodeKey(node, fieldNames.value)))
}
const children = getNodeChildren(node, fieldNames.value)
if (children) walk(children)
}
}
walk(props.treeData)
return set
})
/* ---------- 上下文 ----------
用 getter 暴露响应式值:读取发生在消费方(TreeNode 的渲染 / computed)的
响应式作用域里,因此依赖能被正确收集,不需要额外包一层 reactive。 */
@@ -622,9 +600,6 @@ const treeContext: TreeContext = {
get selectedSet() {
return selectedSet.value
},
get placeholderKeys() {
return placeholderLeaves.value
},
get checkedSet() {
return conductResult.value.checked
},