您好,可以通过重写右键菜单的方式来实现您这个需求。
请参考以下代码:
- let oldOpenMenu = spread.contextMenu.onOpenMenu;
- spread.contextMenu.onOpenMenu = function (
- menuData,
- itemsDataForShown,
- hitInfo,
- spread
- ) {
- oldOpenMenu.apply(this, arguments);
- for (const element of itemsDataForShown) {
- console.log(hitInfo);
- console.log(itemsDataForShown);
- let item = element;
- if (
- item.name === "tableInsert"
- ) {
- // 禁止在第二行向上添加行
- if (hitInfo.worksheetHitInfo.row == 1) {
- if (item.name == "tableInsert") {
- let subMenu = item.subMenu;
- for (let i = 0; i < subMenu.length; i++) {
- if (subMenu[i].name === "tableInsertRowsAboveForContextMenu") {
- subMenu[i].disable = true;
- }
- }
- return;
- }
- item.disable = true;
- }
- }
- }
- };
复制代码
实现效果如下:
|