如何在表单保护下仍然可以编辑富文本
本帖最后由 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().row, sheet.getSelections().col).locked()) {
item.disable = false;
}
}
};
页:
[1]