本帖最后由 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[commandName] = 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。
这样就可以通过两个按钮来实现是否显示右键中的复制选项。
效果图如下:
|
-
|