找回密码
 立即注册

QQ登录

只需一步,快速开始

Lynn.Dou 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-22 15:51  /   查看:1618  /  回复:0
本帖最后由 Ellia.Duan 于 2023-8-23 12:14 编辑

背景:

有小伙伴在使用自定义单元格时,发现无法对其复制粘贴。
image.png206169127.png
尝试设置了typeName后,purejs demo中复制粘贴没有问题了,
image.png887247314.png
但是在vue等框架中该设置似乎是“无效”的,这是什么原因呢?

在purejs demo中,自定义单元格函数(如:FivePointedStarCellType)是注册到window上的,
所以设置typeName字段名之后,复制粘贴时可以自动从window中获取FivePointedStarCellType
但是在框架内,FivePointedStarCellType并不是定义在window上的,所以我们需要重写 getTypeFromString 函数来手动解析自定义单元格类型的字符串。
  1. GC.Spread.Sheets.getTypeFromString = function (typeStr) {
  2.     if (typeStr === 'FivePointedStarCellType') {
  3.         return FivePointedStarCellType;
  4.     }
  5. }
复制代码
  1. export class FivePointedStarCellType {
  2.     constructor() {
  3.         this.typeName = "FivePointedStarCellType";
  4.         this.size = 10;
  5.     }
  6. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部