本帖最后由 爱迪生 于 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作为参数,设置样式,就会报错 解决方法: 深拷贝方法很多,这边提供一个作为参考,可根据实际业务编码 - function clone(orgin) {
- if (orgin) {
- let originProto = Object.getPrototypeOf(orgin);
- return Object.assign(Object.create(originProto), orgin);
- }
- }
复制代码
|