本帖最后由 AlexZ 于 2023-12-4 12:20 编辑
问题背景:有部分客户在设置了表单保护后,将部分单元格的locked属性设置为了false,但是在这种情况下右键菜单中的“编辑富文本”选项仍然是disabled状态,这不太符合我们的认知,在这种情况下,locked属性为false的单元格应该是可以编辑的,对于这种问题应该如何解决呢?
解决方法:要想解决这个问题的话也很简单,只需要重写一下右键菜单即可,在打开右键菜单前检测一下单元格的locked属性,如果为false,那么就将“编辑富文本”选项的disable属性置为false即可,具体代码可以参考:
- let oldOpenMenu = spread.contextMenu.onOpenMenu;
- spread.contextMenu.onOpenMenu = function (
- menuData,
- itemsDataForShown,
- hitInfo,
- spread
- ) {
- oldOpenMenu.apply(this, arguments);
- console.log(itemsDataForShown);
- for (const element of itemsDataForShown) {
- const item = element;
- if (item.name == "richText" && !sheet.getCell(sheet.getSelections()[0].row, sheet.getSelections()[0].col).locked()) {
- item.disable = false;
- }
- }
- };
复制代码 |
|