找回密码
 立即注册

QQ登录

只需一步,快速开始

何时待我
金牌服务用户   /  发表于:2023-10-24 12:00  /   查看:2026  /  回复:5
1金币
本帖最后由 Joestar.Xu 于 2023-10-25 14:16 编辑



产品:SpreadJS
版本:V16


V15 升级V16之后PictureChanged  事件监听失效, 影响业务代码逻辑
image.png105833739.png

最佳答案

查看完整内容

您可以通过监听事件中拿到的info对象的shape参数去判断 示例:

5 个回复

倒序浏览
最佳答案
最佳答案
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-24 12:00:13
来自 6#
何时待我 发表于 2023-10-24 14:05
通过shape 怎么判断是图片

您可以通过监听事件中拿到的info对象的shape参数去判断
示例:
  1. sheet.bind(GC.Spread.Sheets.Events.ShapeChanged, function (e, info) {
  2.     if (info.shape instanceof GC.Spread.Sheets.Shapes.PictureShape) {
  3.         console.log("形状为图片");
  4.     }
  5. });
复制代码


回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-24 13:54:14
2#
本帖最后由 Richard.Huang 于 2023-10-24 13:59 编辑

您好,我们新版本对于图片进行了增强,将浮动元素以及图片等内容统一划归到了“形状”(shape)中,且在线表格编辑器的图片插入也是基于”形状“(shape)这个类来实现的。

结合您主贴中的描述,您在升级到V16之后仍然希望监听对于图片插入以及修改的操作,您需要将之前的的PictureChanged事件监听改为ShapeChanged事件
API为:https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Events#shapechanged
示例:
  1. sheet.bind(GC.Spread.Sheets.Events.ShapeChanged, function (e, info) {
  2.     console.log("形状:" + info);
  3. });
复制代码
回复 使用道具 举报
何时待我
金牌服务用户   /  发表于:2023-10-24 14:04:49
3#
Richard.Huang 发表于 2023-10-24 13:54
您好,我们新版本对于图片进行了增强,将浮动元素以及图片等内容统一划归到了“形状”(shape)中,且在线表 ...

那V16里的API 可以把这个更改一下了, 我看还是存在这个API 的, 并且提供了例子
回复 使用道具 举报
何时待我
金牌服务用户   /  发表于:2023-10-24 14:05:25
4#
Richard.Huang 发表于 2023-10-24 13:54
您好,我们新版本对于图片进行了增强,将浮动元素以及图片等内容统一划归到了“形状”(shape)中,且在线表 ...

通过shape 怎么判断是图片
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-24 15:20:06
5#
何时待我 发表于 2023-10-24 14:04
那V16里的API 可以把这个更改一下了, 我看还是存在这个API 的, 并且提供了例子

您好,是的,我们API文档中仍然提供之前老版本中插入图片的方式以及监听方法,主要是为了满足很多老版本用户对于该接口无法迁移的需求
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部