本帖最后由 DerrickJiao 于 2021-3-15 18:19 编辑
相信大家看了组件化编辑器的自定义右键菜单的两篇教程,都大致了解如何定义右键菜单。了解SpreadJS的小伙伴应该都知道,组件化编辑器的右键菜单与SpreadJS的自定义右键菜单有所不同,其中一个区别是在哪里显示。
在SpreadJS中,右键菜单通过workArea来控制显示区域以及itemsDataForShown控制条件。在组件化编辑器中,右键菜单是通过visibleContext控制其显示。我们可以设置visibleContext:"ClickRowHeader || ClickColHeader || ClickViewport",使得新增的右键菜单项在行头、列头、视图区域显示。
那么我们要想自定义条件显示需要怎么做呢?我们需要为visibleContext添加上我们的自定义属性,参考下面的代码
- myCmd: {
- text: "弹窗菜单",
- commandName: "myCmd",
- visibleContext:"CData", //添加自定义属性
- execute: () =>{
- alert("我是新增的右键菜单");
- }
- }
复制代码
这个CData就是我们显示的一个状态,在符合需求的条件下,可以用setData将其改为true,使得这个项能够在表单中显示。例如:- designer.setData("CData",true)
复制代码
这样就能够通过自定义的条件下去显示我们的右键菜单项。
|
|