本文主要介绍如何实现SpreadJS 的自定义特性序列化
工具/原料
纯前端表格控件:SpreadJS
方法/步骤
1
SpreadJS 支持以下自定义特性的序列化与反序列化: 自定义单元格类型,自定义函数, 自定义格式, 自定义函数迷你图, 自定义标签, 以及自定义行筛选。
2
相关的类型应该提供一个 typeName 字段在其 toJSON 函数过程中, 如此将类型名与 window 对象相联系。当反序列化时, 调用 getTypeFromString 函数来获取类型名并且构造类型实例对象, 然后调用类型实例上的 fromJSON 方法。
3
以下规则将帮助你正确的序列化或反序列化自定义特性: 给 typeName 字段设置完整的类型名字符串 (如果有命名空间也应包含命名空间)。 如果自定义类型有循环依赖或是你希望减小 JSON 数据的大小, 亦或是你有其他更高级的需求, 那么你的自定义类型需要重写 toJSON 和 fromJSON 方法。 如果自定义类型定义在一个闭包中, 换句话说, 你不希望将自定义类型定义在 window 对象上, 你需要重写 getTypeFromString 函数来手动解析类型的字符串。
4
代码如下