我正在创建一个插件,将所有单词都大写。
const items = [
{
type: 'menuitem',
text: 'uppercase',
onAction: () => {
const uppercaseContent = editor.dom
.decode(editor.selection.getContent())
.toUpperCase();
editor.insertContent(uppercaseContent);
},
},
];
callback(items);
},
此代码存在一些问题:
我在这段代码中缺少什么吗?
谢谢
答案 0 :(得分:0)
是否丢失样式取决于您选择的样式。 editor.insertContent
将完全替换所选内容,它可能会以内联样式产生不良的副作用。
您可能想深入研究所选内容和大写字母 中的所有子文本节点。但是,这也不容易,因为您的选择可能覆盖了文本节点的一部分(insertContent
为您处理的事情很复杂)。
可靠地实现变更案例的开发过程非常复杂,我们决定对我们的解决方案收费: https://apps.tiny.cloud/products/case-change/