找回密码
 立即注册

QQ登录

只需一步,快速开始

闪电代码手

金牌服务用户

2

主题

15

帖子

37

积分

金牌服务用户

积分
37

圣诞拼拼乐

最新发帖
闪电代码手
金牌服务用户   /  发表于:2023-4-6 15:12  /   查看:1778  /  回复:5
本帖最后由 闪电代码手 于 2023-4-6 15:13 编辑

请问是否可以使用Spread JS通过json字符串快速绘制组织架构图,实现类似vue2-org-tree的效果

通过API递归绘制会非常吃性能,绘制非常慢容易卡死

{847E0553-A379-4A48-8D0B-F5F3F4344D15}.jpg

5 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-6 17:07:34
沙发
1。从你需要的效果来看,通过spreadjs绘制的话,可以通过设置边框,以及插入折线形状,基本实现你需要的效果。
插入线条的接口可以参考
https://demo.grapecity.com.cn/sp ... nector-shape/purejs

2.你提到的递归绘制耗性能不知道你具体说的是什么耗性能?如果是spreadjs设置单元格或形状绘制耗性能的话,可以上传一个demo

我看到和这个帖子的内容是一样的,是你同事发的帖子吗,请挑一个帖子来回复沟通即可

https://gcdn.grapecity.com.cn/fo ... read&tid=164100
回复 使用道具 举报
闪电代码手
金牌服务用户   /  发表于:2023-4-7 13:24:37
板凳
Richard.Ma 发表于 2023-4-6 17:07
1。从你需要的效果来看,通过spreadjs绘制的话,可以通过设置边框,以及插入折线形状,基本实现你需要的效 ...

你好  附件是我写的demo   在utils里使用了递归循环创建节点   但是耗时有点久  请问有没有更便捷的API来实现这个功能?

utils.js

8.39 KB, 下载次数: 291

orgChart.vue

5.98 KB, 下载次数: 165

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-7 18:43:55
地板
我的建议是,你可以先注释掉有关sheet设置的操作(单元格值,样式,形状等等),只递归你的数据方面,看看速度

如果确认是spreadjs相关设置的影响,你可以尝试
1.下面链接中的优化思路,
2.把相关设置方法放到递归外来最后执行(比如递归时只给一个数组中添加每次需要操作sheet 的一些参数,递归完以后,集中处理这个数组)

https://gcdn.grapecity.com.cn/fo ... d=146305&extra=
回复 使用道具 举报
闪电代码手
金牌服务用户   /  发表于:2023-4-9 08:34:44
5#
Richard.Ma 发表于 2023-4-7 18:43
我的建议是,你可以先注释掉有关sheet设置的操作(单元格值,样式,形状等等),只递归你的数据方面,看看 ...

好的  感谢
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-10 11:58:20
6#
不客气,如果这样测试后仍是在spreadjs相关操作时占用时间较多,可以再回帖沟通,其中使用Suspend/Resume Paint方法应该对你的情况帮助是最大的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部