找回密码
 立即注册

QQ登录

只需一步,快速开始

sanyue
初级会员   /  发表于:2022-12-28 19:04  /   查看:1019  /  回复:6
designer 右键粘贴菜单项重写问题页面弹窗选择否,第一次进弹一次弹窗,第二次进弹两次弹窗,第三次进弹三次弹窗。。。

566899842905829067.jpg832774352.png 566070080800410495.jpg169007872.png

vue02 - 右键粘贴.rar

118.6 KB, 下载次数: 56

6 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-29 13:32:43
沙发
您好,具体问题已经调查出来了,跟VUE框架本身有一定的关系,当页面跳转时dom对象没有被销毁。这点在纯js下是不存在的。解决方法是在注册命令execute的时候加一个flag判断。
让其只注册第一次。
改了一下代码,您可以当做参考

designer.vue

2.52 KB, 下载次数: 44

回复 使用道具 举报
sanyue
初级会员   /  发表于:2022-12-29 16:31:19
板凳
Clark.Pan 发表于 2022-12-29 13:32
您好,具体问题已经调查出来了,跟VUE框架本身有一定的关系,当页面跳转时dom对象没有被销毁。这点在纯js下 ...

image.png383606566.png 第一个spread不是执行原来的粘贴逻辑吧,怎么变成像图二一样执行原来的逻辑呢?有的是只粘贴值的,有的是只粘贴公式的,现在这么写不是六个选项都只粘贴值了吗
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-29 16:49:27
地板
本帖最后由 Clark.Pan 于 2022-12-29 16:54 编辑

demo只是参考,你只需要关注添加flag的方式即可。
另外demo也是根据你之前提供的demo逻辑进行改写的。
image.png724190978.png
换言之你之前提供的demo就是这个逻辑,你可以好好再检查一下你之前上传的demo
image.png138825682.png



回复 使用道具 举报
sanyue
初级会员   /  发表于:2022-12-29 17:02:58
5#
Clark.Pan 发表于 2022-12-29 16:49
demo只是参考,你只需要关注添加flag的方式即可。
另外demo也是根据你之前提供的demo逻辑进行改写的。

是的,上述问题解决了,我上面那张图是左边是sjs方法重写,右边是设计器方法重写,别的帖子给出的demo,仅仅只看这张图,sjs是弹窗以后执行的paste,设计器是执行的之前的弹窗之前的execute方法,由于我几个右键粘贴按钮都要重写,sjs下,我怎么像右边设计器方法重写的方式,弹窗以后调用重写前的execute方法(此贴是上一篇贴过长另开的贴)
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-12-29 18:09:40
6#
本帖最后由 Clark.Pan 于 2022-12-30 10:29 编辑

您说的另一个问题 “我上面那张图是左边是sjs方法重写,右边是设计器方法重写,别的帖子给出的demo,仅仅只看这张图,sjs是弹窗以后执行的paste,设计器是执行的之前的弹窗之前的execute方法,由于我几个右键粘贴按钮都要重写,sjs下,我怎么像右边设计器方法重写的方式,弹窗以后调用重写前的execute方法
与本贴问题相关吗?如果不相关的话,建议重开帖子描述下您的问题。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-30 10:52:58
7#
你可以考虑直接执行clipboardpaste命令,该命令有pasteOption操作,可用来区分你说的那几个按钮的粘贴逻辑。
https://demo.grapecity.com.cn/sp ... ands#clipboardpaste
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部