element-plus [Component] [tree] 树组件在新增或者删除节点的时候,折叠的面板会展开

rfbsl7qr  于 7个月前  发布在  其他
关注(0)|答案(4)|浏览(66)

Bug Type: Component

Environment

  • Vue Version: 3.2.37
  • Element Plus Version: 2.2.30
  • Browser / OS: Chrome/110.0.0.0 Safari/537.36
  • Build Tool: Vite

Reproduction

  • el-tree

Element Plus Playground

Steps to reproduce

创建好一个树组件,并在每一个树节点后加上删除和添加按钮,当数据多的时候折叠组件后点击添加,树会展开

What is Expected?

当数据多的时候折叠不需要展开的节点,点击添加,折叠的节点不展开,输入框在添加的节点下

What is actually happening?

点击添加或者删除后被折叠的节点展开了,数据多的时候没法精确的显示输入

Additional comments

(empty)

up9lanfz

up9lanfz1#

同样的问题,选中的节点也会被清空

wmvff8tz

wmvff8tz2#

可能是dataSource重新赋值导致的树刷新了, 默认expand-all的话会重新执行一次

kyxcudwk

kyxcudwk3#

你可以试试这个效果可不可以 link

xam8gpfp

xam8gpfp4#

你可以试试这个效果可不可以 link

现在情况是,将新的子节点添加到 data.children 后,又将整个 dataSource.value 数组重新赋值,导致所有节点都会重新渲染,从而触发默认的展开行为

在el-tree中可能需要添加一个变量来控制所有节点什么时候展开,如 :default-expand-all="shouldExpandAll"

具体可以按照需求自己调整

相关问题