需求背景:
同一张工作表中有多个形状,需要删除其中的照相机类型的形状。
实现方式:
SpreadJS中,形状Shape分了六类(V16),具体如下所示。其中前五类继承了ShapeBase类型
而形状删除的API作用在ShapeCollection上,它会返回当前工作表中的所有形状。而这是如果想要只删除CameraShape就需要做额外的判断。具体实现方式如下:
1. 获取当前工作表中的所有形状
该方法会返回一个数组,代表sheet中的所有形状对象。
2. 遍历判断形状是否为目标形状类型cameraShape
- sheet.shapes.all()[0] instanceof GC.Spread.Sheets.Shapes.CameraShape
复制代码
若上述代码返回为true,则表示当前shape是cameraShape
3. 删除命中shape
shapeCollection上提供remove方法,可以根据shape.name()获取形状的名称,之后调用remove方法即可。
- sheet.shapes.all().remove(name)
- sheet.shapes.remove(name)
复制代码
|
|