找回密码
 立即注册

QQ登录

只需一步,快速开始

rerorero

注册会员

3

主题

8

帖子

58

积分

注册会员

积分
58
最新发帖
rerorero
注册会员   /  发表于:2021-4-1 20:02  /   查看:2704  /  回复:5
本帖最后由 rerorero 于 2021-4-3 18:12 编辑

代码在 core/worksheet/style.js 657~661 。

背景:
我们的产品使用了自定义单元格来实现各种功能,其中有一个光标功能使用了继承单元格原有 cellType 的方式来实现。
我们的自定义 celltype 都正确实现了 _cloneCellType 方法,光标 cellType 在继承时没有重写 _cloneCellType 方法(复制时返回父类 cellType 这与产品目标一致)。
但是光标单元格在 dragFill 等会 clone cellType 的操作时填充的是还是光标的 cellType ,经定位是上图所示代码导致。

我的问题是:
源码中的 _cloneCellType 为什么要这样实现?为什么不用 cellType._cloneCellType 的返回值 cellTypeInstance 而是沿用 cellType ?改成 cellTypeInstance 会有什么风险吗?
image.png972627563.png

5 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-4-2 09:50:51
沙发
您好,请问您是哪个公司的并且买的我们哪个版本的源码呢?论坛这边目前只对产品功能提供支持,我们这边对源码也不熟悉,无法为您提供源码的支持。

另外,修改源码属于您的需求了,具体的风险需要您做评估,这边无法评估修改之后带来的风险。请谅解。
回复 使用道具 举报
rerorero
注册会员   /  发表于:2021-4-2 12:58:14
板凳
v13.2.0 。我觉得这个属于源码的 bug 啊,代码运行的结果不符合预期。celltype deepclone 的结果还是指向原来的 celltype 实例,这不符合常理啊,修改复制单元格的 celltype 实例属性,原本的单元格也会受到影响。
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-4-2 13:41:54
地板
rerorero 发表于 2021-4-2 12:58
v13.2.0 。我觉得这个属于源码的 bug 啊,代码运行的结果不符合预期。celltype deepclone 的结果还是指向原 ...

请问您是哪家公司的呢?我们这边对源码也不熟悉,可能无法给出合适的建议。我们这边建议将您遇到的问题移除您的业务逻辑,制作一个简单的demo,并详细描述您的需求和预期,我们这边提交给研发做进一步调研。
回复 使用道具 举报
rerorero
注册会员   /  发表于:2021-4-3 18:17:21
5#
DerrickJiao 发表于 2021-4-2 13:41
请问您是哪家公司的呢?我们这边对源码也不熟悉,可能无法给出合适的建议。我们这边建议将您遇到的问题移 ...

示例代码已上传,请查收~

clonecelltype.zip

10.24 MB, 下载次数: 125

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-4-6 11:21:30
6#
本帖最后由 DerrickJiao 于 2021-4-6 12:21 编辑
rerorero 发表于 2021-4-3 18:17
示例代码已上传,请查收~

这边问题已复现,会提交研发做进一步调研,此贴为您改为保留处理,有进展会在本帖更新告知您。
————————————————————————————————————————
这边修改了您提供的示例,现在可以根据选中的单元格进行颜色修改。

另外,麻烦您留下您公司的名称,这边需要进行登记。

clonecelltype.zip

12.99 MB, 下载次数: 137

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部