Skip to content

Bug: Tree.vue defaultExpandedLevel 属性的bug #6998

@henhen6

Description

@henhen6

Version

Vben Admin V5

Describe the bug?

Tree.vue 组件,源码地址: https://github.com/vbenjs/vue-vben-admin/blob/main/packages/%40core/ui-kit/shadcn-ui/src/ui/tree/tree.vue

在使用tree.vue组件时, 若指定了 default-expanded-level ,若实际的层级超过 默认展开层级, 每次点击超过的层级,会出现: 1. 无法勾选 2. 自动搜索 的情况。

例如: 实际树结构有5层, 设置了 :default-expanded-level="2" 后, 点击第3层以后的任意节点,都无法选中,且每次点击都会将展开状态变为收缩状态。

<VbenTree
:default-expanded-level="2"
/>

排查后,推断问题大概出现在这个位置:

onMounted(() => {
  watchEffect(() => {
    flattenData.value = flatten(props.treeData, props.childrenField);
    updateTreeValue();
    if (
      props.defaultExpandedLevel !== undefined &&
      props.defaultExpandedLevel > 0
    )
      expandToLevel(props.defaultExpandedLevel);
  });
});

Reproduction

System Info

最新版本

Relevant log output

Validations

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions