visibleContext控制右键菜单复制选项是否隐藏
本帖最后由 Joestar.Xu 于 2023-6-30 09:20 编辑在某些情况下,我们需要限制用户进行右键菜单中的复制操作的行为,除了使用itemsDataForShown和hitInfo来联合实现以外,还可以通过visibleContext来进行控制。
代码如下:
window.onload = function () {
let designerConfig = JSON.parse(
JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig)
);
designerConfig.commandMap = {};
const commandNames = [
"designerPasteAll",
"pasteFormula",
"designerPasteValues",
"designerPasteFormatting",
"pasteValuesFormatting",
"pasteFormulaFormatting",
"contextMenuPaste",
];
commandNames.forEach((commandName) => {
const command = GC.Spread.Sheets.Designer.getCommand(commandName);
command.visibleContext = "showPasteItem";
designerConfig.commandMap = command;
});
let designer = new GC.Spread.Sheets.Designer.Designer(
"gc-designer-container",
designerConfig
);
let spread = designer.getWorkbook();
let sheet = spread.getActiveSheet();
designer.setData("showPasteItem", true);
document.querySelector("#button1").addEventListener("click", function () {
designer.setData("showPasteItem", true);
});
document.querySelector("#button2").addEventListener("click", function () {
designer.setData("showPasteItem", false);
});
};
在上面的代码中我设置了一个showPasteItem的属性,将它的值赋给了需要设置的命令的visibleContext。
这样就可以通过两个按钮来实现是否显示右键中的复制选项。
效果图如下:
页:
[1]