Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Transfer] 穿梭框组件无法实现树结构的懒加载能力,children值为空时不显示当前节点,children为true时报错 #2686

Open
xinller opened this issue Aug 14, 2023 · 7 comments
Labels
💪🏻 enhancement New feature or request

Comments

@xinller
Copy link

xinller commented Aug 14, 2023

tdesign-vue 版本

1.5.2

重现链接

https://codesandbox.io/s/tdesign-vue-demo-forked-qj9f3q?file=/src/demo.vue:597-770

重现步骤

树节点的数据中children只有为true才能实现懒加载,在穿梭框中,如果值为true报错,无法实现懒加载能力

1、children如果值为true不显示,控制台报错data.map is not a function,但是tree组件的懒加载需要children设置为true;

原因是穿梭框的方法:getTransferData报错,data为true时不支持data.map

2、children如果值为空数组,则当前节点都不显示
原因不确定

3、children值为null可以正常显示,但是无法实现懒加载的能力

期望结果

1、期望穿梭框组件能够支持懒加载能力
2、期望穿梭框组件支持树节点的children数据为空数组

实际结果

No response

框架版本

2.6.14

浏览器版本

No response

系统版本

No response

Node版本

14.19.0

补充说明

No response

@github-actions
Copy link
Contributor

👋 @xinller,感谢给 TDesign 提出了 issue。
请根据 issue 模版确保背景信息的完善,我们将调查并尽快回复你。

@github-actions
Copy link
Contributor

github-actions bot commented Aug 14, 2023

♥️ 有劳 @BigLiao @smile33 尽快确认问题。
确认有效后将下一步计划和可能需要的时间回复给 @xinller

@xinller xinller changed the title [Transfer] 穿梭框组件无法实现树结构的懒加载能力,children值为空时不显示当前节点 [Transfer] 穿梭框组件无法实现树结构的懒加载能力,children值为空时不显示当前节点,children为true时报错 Aug 14, 2023
@sjw1228
Copy link

sjw1228 commented Aug 14, 2023

遇到了同样的问题,希望尽快处理

@pan1437
Copy link

pan1437 commented Aug 14, 2023

希望尽快处理 急急急

@rachelYiFan
Copy link

我也发现了这个bug,现在只能递归去处理这个数据,希望官网尽快解决

@FireBushtree
Copy link
Contributor

@xinller @pan1437 @rachelYiFan 我看了源码,假设我在不展开 1 节点的情况下,直接选中 1并穿梭到右侧,由于懒加载组件并不知道到底什么时候会到叶子节点,所以只存下了 1 节点。如果期望存储的是 1.1, 1.2,就无法进行交互了。所以还是手动加载好整棵树比较好。

@xinller
Copy link
Author

xinller commented Aug 18, 2023

@xinller @pan1437 @rachelYiFan 我看了源码,假设我在不展开 1 节点的情况下,直接选中 1并穿梭到右侧,由于懒加载组件并不知道到底什么时候会到叶子节点,所以只存下了 1 节点。如果期望存储的是 1.1, 1.2,就无法进行交互了。所以还是手动加载好整棵树比较好。

确实是有这样的问题,或者可以考虑右侧的树增加一个回填默认列表的能力,如果当中包含懒加载的节点也能够正常展示;
另外源码中对树结构的数据转换时判断不够全,比如children是否是Array类型。boolean类型等都未判断齐全,有问题的方法有(getDataValues/getTransferData等都有判断不全导致数据不显示或者报错的问题)

@uyarn uyarn added the 💪🏻 enhancement New feature or request label Aug 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💪🏻 enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants