ChuChencheng

Results 23 comments of ChuChencheng

看了下报错,用了 `reactive([])` 的变量无法在 `watch` 中被追踪,目前代码里用到的是 `unloadCheckedNodes` ,这个变量没有在 `watch` 中出现,所以暂时不会引起问题。 有机会下个版本顺手修了。

我有两个想法 1. `setData` 目前执行之前会把树的 `scrollTop` 重置为 0 ,以防止新的数据与旧的数量不一致(更少)导致白屏问题。可以给 `setData` 加一个选项,不重置 `scrollTop` 。不过这要用户自己保证传入新的 data 数量要与旧的保持一致 2. 加一个 API 更新 title ,比如 `setNodeTitle(key: string, newTitle: string)` 第一个方案比较类似 React `setState` 了,不过用起来会比较繁琐,要自己去找到节点

https://wsfe.github.io/vue-tree/examples/node-manipulation.html#update-node-title

什么意思呢,能清晰描述一下你遇到的问题,并给个复现示例吗

`vue-demi` 在 vue2 环境下引用了 `@vue/composition-api` 包,里面有提到 $refs undefined 的问题,可以用 vue2 专属的 `setupContext.refs` 来获取。 https://github.com/vuejs/composition-api#template-refs

不过我认为 `vue-demi` 要完全兼容 vue2 还是挺麻烦的,比如我在 #73 提到的两个问题 1. `v-model` 没法正常使用,需要判断如果是 vue2 则用 `value`, `input` 来代替 `modelValue`, `update:modelValue` 2. `$listeners` 没法在 vue3 里面用,在开发 `@wsfe/vue-tree` 的时候一般是 vue3 环境,会报类型错误

查了下是 vue2 vue3 兼容的问题,类似还有 `v-model` 在 vue2 也不能用, vue2 里的 `$listeners` 也没法正常使用。 建议 vue2 项目还是用 `@wsfe/ctree` 这个包吧。 https://juejin.cn/post/7236184868480663589#heading-7