u
This commit is contained in:
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
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user