menujs icon indicating copy to clipboard operation
menujs copied to clipboard

onClick 方法不执行

Open serverlet opened this issue 4 years ago • 7 comments

vue版本2.5.17 element-ui版本 2.4.6 本插件版本 1.3.13 debugger发现点击优先执行 item的close 方法 onPrintmenu(event) { this.$contextmenu({ items: [{ label: "打印(P)...", icon: "el-icon-printer", disabled: false, hidden: false, onClick: () => { console.info('fileUrl:', event); } }], event, minWidth: 100 }); }

serverlet avatar Feb 04 '21 14:02 serverlet

vue版本2.5.17 element-ui版本 2.4.6 本插件版本 1.3.13 debugger发现点击优先执行 item的close 方法 onPrintmenu(event) { this.$contextmenu({ items: [{ label: "打印(P)...", icon: "el-icon-printer", disabled: false, hidden: false, onClick: () => { console.info('fileUrl:', event); } }], event, minWidth: 100 }); }

同遇到这个问题,请问能够解决吗?

unull avatar Feb 05 '21 09:02 unull

我也是,不知道什么原因

ldwqh0 avatar Mar 15 '21 00:03 ldwqh0

你的编译环境导致this.$style里面是空的,源码里是根据const menus = getElementsByClassName(this.$style.menu)来找元素的,所以先执行了$destory(),visible 变为了false,onClick也就不执行了。

方法一检查编译环境,方法二,改源码写死

jbts6 avatar May 24 '21 09:05 jbts6

请问编译环境如果检查,从哪几个方面入手? @fh345392977

xuyang60 avatar May 24 '21 09:05 xuyang60

请问编译环境如果检查,从哪几个方面入手? @fh345392977

我直接改的源码

jbts6 avatar Jun 05 '21 03:06 jbts6

this.$style 对应下面的值:

<style module>
.menu,
.menu_item,
.menu_item__clickable,
.menu_item__unclickable {
  box-sizing: border-box;
}
</style>

需要配置 css modules

@xuyang60

ghost avatar Feb 15 '22 09:02 ghost

最简单的解决方案:

使用 import Contextmenu from "vue-contextmenujs/dist/contextmenu.umd" 代替 import Contextmenu from "vue-contextmenujs

ghost avatar Feb 16 '22 02:02 ghost

1.4.9后不再使用<style module>

GitHub-Laziji avatar Sep 06 '22 14:09 GitHub-Laziji