爱迪生 发表于 2021-12-30 19:17:19

SpreadJS中单元格样式对象深拷贝问题

本帖最后由 爱迪生 于 2021-12-30 19:18 编辑

在使用React开发中,有这样的应用场景,如获取组件A中SpreadJS表格某一个单元格的样式,复用到组件B中的另一个SpreadJS表格,问题:1.获取到的style对象结构如下
2. 可通过style.clone(),对style对象深拷贝,很多时候,style作为一个对象的属性,要对该对象进行深拷贝,通过JSON.parse(JSON.stringfy(obj))方法对包含style的对象进行深拷贝查看深拷贝后的style对象3.如图所示,style属性部分丢失,继承的属性也丢失,通过setStyle()将该style作为参数,设置样式,就会报错JSON.parse(JSON.stringfy(obj))使用弊端参考(https://blog.csdn.net/xiaokanfuchen86/article/details/106149171/)解决方法:深拷贝方法很多,这边提供一个作为参考,可根据实际业务编码function clone(orgin) {
if (orgin) {
      let originProto = Object.getPrototypeOf(orgin);
      return Object.assign(Object.create(originProto), orgin);
}
}



页: [1]
查看完整版本: SpreadJS中单元格样式对象深拷贝问题