vue-tree icon indicating copy to clipboard operation
vue-tree copied to clipboard

怎么修改某个节点的数据

Open xtuer opened this issue 1 year ago • 1 comments

问题描述 使用 setData 设置数据 (非响应式的方式,没有使用 :data 进行双向绑定),怎么修改某个节点的数据例如 title,然后树上此节点马上更新看到效果呢?

需求来源,例如重命名树的节点。

组件版本

  • Vue3
  • @wsfe/vue-tree ^3.2.0

xtuer avatar Feb 22 '24 03:02 xtuer

我有两个想法

  1. setData 目前执行之前会把树的 scrollTop 重置为 0 ,以防止新的数据与旧的数量不一致(更少)导致白屏问题。可以给 setData 加一个选项,不重置 scrollTop 。不过这要用户自己保证传入新的 data 数量要与旧的保持一致
  2. 加一个 API 更新 title ,比如 setNodeTitle(key: string, newTitle: string)

第一个方案比较类似 React setState 了,不过用起来会比较繁琐,要自己去找到节点

ChuChencheng avatar Mar 17 '24 17:03 ChuChencheng